Changeset 65d1ba in git


Ignore:
Timestamp:
Mar 18, 1999, 5:30:53 PM (25 years ago)
Author:
Hans Schönemann <hannes@…>
Branches:
(u'spielwiese', '8e0ad00ce244dfd0756200662572aef8402f13d5')
Children:
141634b0229ff243d4914e063fad330d4a4a730e
Parents:
9489ed1f8ca138e6dc32222e6347d572a98ef6ff
Message:
*hannes: memory backtrack utilities


git-svn-id: file:///usr/local/Singular/svn/trunk@2953 2c84dea3-7e68-4137-9b89-c4e89433aadc
Location:
Singular
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • Singular/mmbt.c

    r9489ed r65d1ba  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: mmbt.c,v 1.4 1998-12-02 14:08:34 obachman Exp $ */
     4/* $Id: mmbt.c,v 1.5 1999-03-18 16:30:52 Singular Exp $ */
    55/*
    66* ABSTRACT: backtrace: part of memory subsystem (for linux/elf)
     
    2323#include "tok.h"
    2424#include "mmprivate.h"
     25#include "febase.h"
     26#include "mmbt.h"
    2527
    2628#ifdef MTRACK
     
    3133#if defined(linux) && defined(__i386__)
    3234
    33 #undef ulong
    34 #define ulong unsigned long
     35static ulong mm_lowpc=0, mm_highpc=0;
    3536
    3637extern int etext ();
    37 static ulong mm_lowpc=0, mm_highpc=0;
    3838
    3939/*
     
    7171
    7272  while ((fp!=NULL) && ((ulong)fp>4095)  && *fp && (pc = getpc (fp))
    73   && !entrypc (pc) && (i<BT_STACKMAX))
     73  && !entrypc (pc) && (i<BT_MAXSTACK))
    7474  {
    7575    bt_stack[i]=pc; i++;
    7676    fp = (ulong *) *fp;
    7777  }
    78   while(i<BT_STACKMAX)
     78  while(i<BT_MAXSTACK)
    7979  {
    8080    bt_stack[i]=0; i++;
     
    9494  int i,j;
    9595  char n[128];
    96   system("./mprnm -p Singularg >nm.log");
     96  system("mprnm -p Singularg >nm.log");
    9797  f=fopen("nm.log","r");
    9898  i=0;
    9999  loop
    100100  {
    101     j=fscanf(f,"%d %s\n",&p2n[i].p,n);
     101    j=fscanf(f,"%d %s\n",(int *)&p2n[i].p,n);
    102102    if (j!=2) break;
    103103    p2n[i].name=strdup(n);
     
    145145#endif
    146146}
     147
     148void mmPrintStack(ulong *bt_stack) /* print stack */
     149{
     150  int i=0;
     151  do
     152  {
     153    Print(":%x(%s)",bt_stack[i],mmP2cName(bt_stack[i]));
     154    i++;
     155  } while ((i<BT_MAXSTACK) && (bt_stack[i]!=0));
     156  PrintLn();
     157}
    147158#endif /* linux, i386 */
    148159#endif /* not optimize */
  • Singular/mmprivate.h

    r9489ed r65d1ba  
    44*  Computer Algebra System SINGULAR     *
    55****************************************/
    6 /* $Id: mmprivate.h,v 1.4 1999-01-26 14:41:41 obachman Exp $ */
     6/* $Id: mmprivate.h,v 1.5 1999-03-18 16:30:53 Singular Exp $ */
    77/*
    88* ABSTRACT
     
    3434  struct DBMCB * next;
    3535  struct DBMCB * prev;
     36  #ifdef MTRACK
     37  unsigned long bt_stack[BT_STACKMAX];
     38  #endif
     39  char * fname;
    3640  size_t size;
    37   char * fname;
    3841  int lineno;
    3942  int flags;
Note: See TracChangeset for help on using the changeset viewer.