Mail Archives: djgpp/1996/05/03/08:49:52
Probably.
I noticed that you have ~ 2Mb of DPMI "real" memory left -- that could be
the problem. DJGPP is kinda weird on low-memory boxes. If you're running
Windows (and have lots more memory) maybe you could twiddle the PIF
settings or whatever to give the process more memory.
If you really have just that much memory (looks like 4Mb or less...)
you're supposed to do some icky things which I can't remember (never had
to...) I think Eli's got a collection of 'em on his FAQ.
On Fri, 3 May 1996, Jan Hansen wrote:
> >
> > Strange problem, <ick!>
> >
> > We really gotta accept that MS-DOG even with DJGPP ain't UNIX. I would be
> > willing to bet that your problem is caused by too small a DPMI stack; use
> > stubedit to enlarge it. You can also try using symify to print the call
> > traceback. If you see some really weird functions (nothing like your
> > functions, something like __djgpp_something) then it's almost certainly
> > some shitty stack problem (that is, if the program really isn't at fault,
> > which would be your implication if it works perfectly on a UNIX
> > workstation).
> >
> I don't think that this is the problem. The error occurs even when debugging
> small programs, including the simple example below.
>
> output from go32-v2
>
> go32/v2 version 2.0 built Jan 23 1996 22:03:02
> Usage: go32 coff-image [args]
> Rename this to go32.exe only if you need a go32 that can run v2 binaries as
> well as v1 binaries (old makefiles). Put ahead of the old go32 in your PATH.
> DPMI memory available: 1952 Kb
> DPMI swap space available: 14552 Kb
>
>
>
> compiling with: gcc -g -otst tst.c (version 2.7.2)
> and debugging with: gdb tst
>
>
> GDB is free software and you are welcome to distribute copies of it
> under certain conditions; type "show copying" to see the conditions.
> There is absolutely no warranty for GDB; type "show warranty" for details.
> GDB 4.12 (go32), Copyright 1994 Free Software Foundation, Inc...
> (gdb) l
> 1 #include<stdio.h>
> 2 main()
> 3 {
> 4 printf("a\n");
> 5 printf("b\n");
> 6 printf("c\n");
> 7 printf("d\n");
> 8 };
> (gdb) b 5
> Breakpoint 1 at 0x155d: file tst.c, line 5.
> (gdb) r
> Starting program: c:/djgpp/work/tst/tst
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x1564 in main () at tst.c:5
> 5 printf("b\n");
> (gdb) n
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x1564 in main () at tst.c:5
> 5 printf("b\n");
> (gdb) s
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x1564 in main () at tst.c:5
> 5 printf("b\n");
> (gdb) quit
> go32_kill_inferior called
>
>
>
> What's happening?
>
> Jan Hansen.
>
>
>
>
- Raw text -