This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

C ABI changes between gcc 2.96 and gcc 3.2?


I was investigating an odd crash after modifying mips.c in gcc 3.2.
I built a gcc 3.2 cross compiler on Linux/x86, using gcc 3.2. After
I modified mips.c, I tried to rebuild the cross compiler. I got

./xgcc -B./ -B/export/tools-3.2/mipsel-linux/bin/ -isystem
/export/tools-3.2/mipsel-linux/include -isystem
/export/tools-3.2/mipsel-linux/sys-include -O2 -DIN_GCC -DCROSS_COMPILE   -W
-Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem
./include  -I. -I. -I/export/linux/src/tools-3.2/tools/gcc
-I/export/linux/src/tools-3.2/tools/gcc/.
-I/export/linux/src/tools-3.2/tools/gcc/config
-I/export/linux/src/tools-3.2/tools/gcc/../include  -g0
-finhibit-size-directive -fno-inline-functions -fno-exceptions  \
   -c /export/linux/src/tools-3.2/tools/gcc/crtstuff.c -DCRT_BEGIN \
  -o crtbegin.o
/export/linux/src/tools-3.2/tools/gcc/crtstuff.c: In function
`__do_global_dtors_aux':
/export/linux/src/tools-3.2/tools/gcc/crtstuff.c:286: internal error:
Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.

It turned out that I recompiled mips.c with gcc 2.96 by accident and 
targetm in mips.c had a different layout from the one compiled with
gcc 3.2. I got

(gdb) p targetm
...
  cannot_modify_jumps_p = 0x1}

instead of

(gdb) p targetm
...
  cannot_modify_jumps_p = 0x8212df0 <hook_void_bool_false>}

Is that a known issue? I guess I can extract a testcase out of it. I
think it may impact people who try to use gcc 2.96 with glibc compiled
with gcc 3.2.


H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]