Prof A Olowofoyeku (The African Chief) wrote:
On 19 Feb 2005 at 17:33, Waldek Hebisch wrote:
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 ...
<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)?
Program received signal SIGSEGV, Segmentation fault. 0x77c47a64 in strncmp () (gdb) bt #0 0x77c47a64 in strncmp () #1 0x0040f24d in update_path (path=0x0, key=0x4191f7 "GCC") at ../../gcc/prefix.c:256 #2 0x0040284f in add_prefix (pprefix=0x415024, prefix=0x0, component=0x0, priority=1, require_machine_suffix=0, warn=0x0, os_multilib=0) at ../../gcc/p/gpc.c:3207 #3 0x0040898e in process_command (argc=2, argv=0x3d2588) at ../../gcc/p/gpc.c:3888
Quick glance: gcc_libexec_prefix (2nd argument in that add_prefix call) seems to be NULL. It's previously set by make_relative_prefix(*) (line 3847 or 3854) which can indeed return NULL (line 2947 or 2967).
But add_prefix passes this argument to update_path, and this to strncmp, so it must not be NULL.
(*) This is different in gcc.c (gcc-3.4.3), so it might be the cause of the problem. I haven't looked into what this code exactly does, so I don't know if that part can simply be copied from gcc.c, or if it's only a "red herring".
Frank