Prof A Olowofoyeku (The African Chief) wrote:
On 24 Apr 2005 at 0:22, Frank Heckenbach wrote:
[...]
Type `bt' in gdb.
While or after running what?
As previously:
: > > Can you post a complete traceback or at least error position? (There are : > > many strncmp's in gpc.c, and know which one it is might help.) : > : > Attached ... : > (Mingw)/src/mingw/gcc-3.2.3/build/gcc $gdb xgpc.exe : > GNU gdb 6.3 : > (gdb) run : <snip> : > Program received signal SIGSEGV, Segmentation fault. : > 0x77c47a64 in strncmp () : > (gdb) info line *0x77c47a64 : > No line number information available for address 0x77c47a64 <strncmp+20> : : can you type `bt' here (to get the calling place)?
IIRC, what I ran then was xgpc with no arguments (xgpc was crashing). That doesn't work here. Eventually, what I did was to load gpc1.exe into gdb and to do "run fjf1044s.pas -g -O3 -W". This is the output and that and the backtrace:
#1 0x00587b97 in expand_call (exp=0xc41cc0, target=0x0, ignore=1) at ../../gcc/calls.c:3078 #2 0x00479a00 in expand_expr (exp=0xc41cc0, target=0x0, tmode=VOIDmode, modifier=EXPAND_NORMAL) at ../../gcc/expr.c:7379 #3 0x004c4b86 in expand_expr_stmt_value (exp=0xc41cc0, want_value=0, maybe_last=1) at ../../gcc/stmt.c:2254 #4 0x004c4a49 in expand_expr_stmt (exp=0xc41cc0) at ../../gcc/stmt.c:2208
Sorry, which backend version are you using here? Your original report was about 3.3.5, but these line numbers match 3.2.3.
If it's with 3.2.3, you could try an updated backend diff (attached -- you'll have to rebuild GPC), though it didn't make a difference for me (I don't get the error on Linux with or without it).
If this doesn't help, I'm not sure the problem is important enough to spend much time one. It seems a rare case, and perhaps it will vanish with a newer backend version (after integration of the preprocessor).
Frank