Changeset 6e5833 in git
- Timestamp:
- Mar 19, 1999, 6:42:33 PM (25 years ago)
- Branches:
- (u'spielwiese', '8e0ad00ce244dfd0756200662572aef8402f13d5')
- Children:
- 2efb0e4a1f16840557ae3ada88076edccb960534
- Parents:
- 105efeceef55c91a7f3c55acd25aac54cf6ae7ba
- Location:
- Singular
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/mmalloc.c
r105efec r6e5833 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: mmalloc.c,v 1.1 3 1999-03-19 16:00:04 SingularExp $ */4 /* $Id: mmalloc.c,v 1.14 1999-03-19 17:42:27 obachman Exp $ */ 5 5 6 6 /* … … 227 227 mmFillDBMCB(what, SizeFromRealSize(mmGetHeapBlockSize(heap)), 228 228 heap, MM_FREEFLAG, fname, lineno); 229 230 #ifdef MTRACK 231 mmTrack(what->bt_stack); 232 #endif 229 233 } 230 234 -
Singular/mmbt.c
r105efec r6e5833 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: mmbt.c,v 1. 7 1999-03-19 16:00:05 SingularExp $ */4 /* $Id: mmbt.c,v 1.8 1999-03-19 17:42:28 obachman Exp $ */ 5 5 /* 6 6 * ABSTRACT: backtrace: part of memory subsystem (for linux/elf) … … 101 101 j=fscanf(f,"%d %s\n",(int *)&p2n[i].p,n); 102 102 if (j!=2) break; 103 p2n[i].name=strdup(n); 104 i++; 103 if (strcmp(n, "___crt_dummy__") != 0 && strcmp(n, "_start") != 0) 104 { 105 p2n[i].name=strdup(n); 106 i++; 107 } 105 108 } 106 109 fclose(f); … … 112 115 char * mmP2cName(unsigned long p) 113 116 { 117 int i, e; 114 118 int a=0; 115 int e=mm_p2n_max;116 int i;117 119 if (mm_p2n_max == -1) 118 120 mmP2cNameInit(); 121 e=mm_p2n_max; 119 122 loop 120 123 { … … 148 151 } 149 152 150 void mmPrintStack(unsigned long * bt_stack) /* print stack */153 void mmPrintStack(unsigned long *stack, int all) 151 154 { 152 int i=0; 155 mmPrintStackFrames(stack, 0, BT_MAXSTACK, all); 156 } 157 158 void mmDBPrintStack(void* memblock, int all) 159 { 160 mmPrintStackFrames(((DBMCB*) memblock)->bt_stack, 0, BT_MAXSTACK, all); 161 } 162 163 void mmDBPrintStackFrames(void* memblock, int start, int end) 164 { 165 mmPrintStackFrames(((DBMCB*) memblock)->bt_stack, start, end, 166 MM_PRINT_ALL_STACK); 167 } 168 169 /* print stack */ 170 void mmPrintStackFrames(unsigned long *bt_stack, int start, int end, int mm) 171 { 172 int i=start; 153 173 PrintS(" "); 154 174 do 155 175 { 156 176 char *s; 157 fprintf( stderr,":%x",bt_stack[i]);158 177 s=mmP2cName(bt_stack[i]); 159 178 if (s!=NULL) 160 fprintf( stderr,"/%s",s); 179 { 180 if ((mm & MM_PRINT_ALL_STACK) || strncmp(s, "mm", 2) !=0) 181 fprintf( stderr,":%s",s); 182 if (strcmp(s, "main") == 0) break; 183 } 184 else 185 fprintf( stderr,":%x",bt_stack[i]); 161 186 i++; 162 } while ((i< BT_MAXSTACK) && (bt_stack[i]!=0));187 } while ((i<end) && (bt_stack[i]!=0)); 163 188 fprintf( stderr,"\n"); 164 189 } -
Singular/mmbt.h
r105efec r6e5833 4 4 * Computer Algebra System SINGULAR * 5 5 ****************************************/ 6 /* $Id: mmbt.h,v 1. 2 1999-03-19 16:00:05 SingularExp $ */6 /* $Id: mmbt.h,v 1.3 1999-03-19 17:42:29 obachman Exp $ */ 7 7 /* 8 8 * ABSTRACT: backtrace: part of memory subsystem (for linux/elf) … … 26 26 void mmP2cNameInit(); /* init. of PC -> Name resolution */ 27 27 char * mmP2cName(unsigned long p); /* PC -> Name resolution */ 28 void mmPrintStack(unsigned long *bt_stack); /* print stack */ 28 void mmPrintStack(unsigned long *stack, int mm); 29 void mmDBPrintStack(void* memblock, int mm); 30 void mmDBPrintStackFrames(void* memblock, int start, int end); 31 void mmPrintStackFrames(unsigned long *bt_stack, int start, int end, int mm); 29 32 30 33 #endif /* linux, i386 */ -
Singular/mmcheck.c
r105efec r6e5833 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: mmcheck.c,v 1. 5 1999-03-19 16:00:06 SingularExp $ */4 /* $Id: mmcheck.c,v 1.6 1999-03-19 17:42:29 obachman Exp $ */ 5 5 6 6 /* … … 116 116 { 117 117 (void)fprintf( stderr, "warning: %s\n", msg ); 118 (void)fprintf( stderr, "block %x allocated in: %s:%d\n", 119 (int)&(what->data), what->fname, what->lineno ); 118 (void)fprintf( stderr, "block %x %s in: %s:%d", 119 (int)&(what->data), 120 (what->flags & MM_FREEFLAG ? "freed" : "allocated" ), 121 what->fname, what->lineno ); 122 #ifdef MTRACK 123 mmDBPrintStack(what, MM_PRINT_ALL_STACK); 124 #else 125 fprintf( stderr,"\n"); 126 #endif 120 127 if (strcmp(msg,"size")==0) 121 128 (void)fprintf( stderr, "size is: %d, but check said %d \n", … … 165 172 what->lineno = lineno; 166 173 what->flags = flags; 174 what->init = 0; 167 175 168 176 if (flags & MM_FREEFLAG) … … 171 179 memset(what->front_pattern, MM_FRONT_PATTERN, MM_NUMBER_OF_FRONT_PATTERNS); 172 180 memset((char*) addr + size, MM_BACK_PATTERN, DebugOffsetBack); 181 } 182 183 void mmMarkInitDBMCB() 184 { 185 DBMCB * what=mm_theDBused.next; 186 while (what != NULL) 187 { 188 what->init = 1; 189 what = what->next; 190 } 173 191 } 174 192 -
Singular/mmemory.h
r105efec r6e5833 4 4 * Computer Algebra System SINGULAR * 5 5 ****************************************/ 6 /* $Id: mmemory.h,v 1.1 6 1999-03-19 14:18:01obachman Exp $ */6 /* $Id: mmemory.h,v 1.17 1999-03-19 17:42:30 obachman Exp $ */ 7 7 /* 8 8 * ABSTRACT … … 117 117 118 118 void mmPrintUsedList(); 119 void mmMarkInitDBMCB(); 120 void mmTestList (int all); 119 121 120 122 #else … … 128 130 #define mmTestMemory 1 129 131 #define mmTestHeaps 1 132 #define mmMarkInitDBMCB() 133 #define mmTestList(a) 130 134 131 135 #endif /* MDEBUG */ -
Singular/mmisc.c
r105efec r6e5833 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: mmisc.c,v 1. 4 1999-03-19 16:00:07 SingularExp $ */4 /* $Id: mmisc.c,v 1.5 1999-03-19 17:42:31 obachman Exp $ */ 5 5 6 6 /* … … 140 140 141 141 #ifdef MLIST 142 void mmTestList ( 142 void mmTestList (int all) 143 143 { 144 144 DBMCB * what=mm_theDBused.next; … … 146 146 while (what!=NULL) 147 147 { 148 fprintf( stderr, "%d bytes at %p in: %s:%d", 149 (int)what->size, what, what->fname, what->lineno); 148 if ((all & MM_PRINT_ALL_ADDR) || what->init == 0) 149 { 150 fprintf( stderr, "%d bytes at %p in: %s:%d", 151 (int)what->size, what, what->fname, what->lineno); 150 152 #ifdef MTRACK 151 mmPrintStack(what->bt_stack);153 mmDBPrintStack(what, all); 152 154 #else 153 fprintf( stderr, "\n"); 154 #endif 155 fprintf( stderr, "\n"); 156 #endif 157 } 155 158 what=what->next; 156 159 } -
Singular/mmprivate.h
r105efec r6e5833 4 4 * Computer Algebra System SINGULAR * 5 5 ****************************************/ 6 /* $Id: mmprivate.h,v 1. 7 1999-03-19 16:00:07 SingularExp $ */6 /* $Id: mmprivate.h,v 1.8 1999-03-19 17:42:31 obachman Exp $ */ 7 7 /* 8 8 * ABSTRACT … … 36 36 char * fname; 37 37 unsigned long bt_stack[BT_MAXSTACK]; 38 int init; 38 39 size_t size; 39 40 int lineno; … … 81 82 void mmCheckPrint( void ); 82 83 84 #define MM_PRINT_ALL_ADDR 1 85 #define MM_PRINT_ALL_STACK 2 86 87 83 88 #endif /* MEMPRIVATE_H */ 84 89 -
Singular/mod2.h.in
r105efec r6e5833 333 333 #endif 334 334 335 /* define MTRACK for allowing to keep track of Alloc/Free with a backtrace */336 /* #define MTRACK */337 335 338 336 … … 350 348 /* define MLIST for printing block of used memory on exit */ 351 349 #define MLIST 1 350 /* define MTRACK for allowing to keep track of Alloc/Free with a backtrace */ 351 /* #define MTRACK */ 352 352 353 353 /* #define PAGE_TEST */ -
Singular/scanner.l
r105efec r6e5833 3 3 * Computer Algebra System SINGULAR * 4 4 ****************************************/ 5 /* $Id: scanner.l,v 1.1 4 1998-12-14 14:27:43 SingularExp $ */5 /* $Id: scanner.l,v 1.15 1999-03-19 17:42:33 obachman Exp $ */ 6 6 #include <stdio.h> 7 7 #include <string.h> … … 281 281 #ifdef MDEBUG 282 282 #ifdef MLIST 283 mmTestList( );283 mmTestList(0); 284 284 #endif 285 285 #endif -
Singular/tesths.cc
r105efec r6e5833 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: tesths.cc,v 1.5 7 1998-10-30 17:13:32 SingularExp $ */4 /* $Id: tesths.cc,v 1.58 1999-03-19 17:42:33 obachman Exp $ */ 5 5 6 6 /* … … 531 531 } 532 532 errorreported = 0; 533 mmMarkInitDBMCB(); 533 534 #ifndef macintosh 534 535 #if defined(HAVE_READLINE)
Note: See TracChangeset
for help on using the changeset viewer.