From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9681 invoked by alias); 15 Oct 2002 00:02:07 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 9667 invoked from network); 15 Oct 2002 00:02:06 -0000 Received: from unknown (HELO rwcrmhc51.attbi.com) (204.127.198.38) by sources.redhat.com with SMTP; 15 Oct 2002 00:02:06 -0000 Received: from lucon.org ([12.234.88.146]) by rwcrmhc51.attbi.com (InterMail vM.4.01.03.27 201-229-121-127-20010626) with ESMTP id <20021015000206.BQV4193.rwcrmhc51.attbi.com@lucon.org>; Tue, 15 Oct 2002 00:02:06 +0000 Received: by lucon.org (Postfix, from userid 1000) id 20A7E2C4EC; Mon, 14 Oct 2002 17:02:06 -0700 (PDT) Date: Mon, 14 Oct 2002 18:36:00 -0000 From: "H. J. Lu" To: gcc@gcc.gnu.org Cc: GNU C Library Subject: C ABI changes between gcc 2.96 and gcc 3.2? Message-ID: <20021014170206.A3933@lucon.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5.1i X-SW-Source: 2002-10/txt/msg00765.txt.bz2 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 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 } 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.