[Bug c/41750] New: gcc 4.50 miscompiles binutils

rainer at emrich-ebersheim dot de gcc-bugzilla@gcc.gnu.org
Mon Oct 19 08:43:00 GMT 2009


gcc trunk revision 152931 miscompiles cross binutils x86_64-unknown-linux-gnu
to ia64-unknown-linux-gnu.
Detected during build of cross compiler x86_64-unknown-linux-gnu to
ia64-unknown-linux-gnu. ia64-unknown-linux-gnu-ld segfaults by linking a simple
conftest.

configure:2368: checking for C compiler default output file name
configure:2390: /SCRATCH/tmp.rXGZe12682/gcc-4.5.0/gcc-4.5.0/./gcc/xgcc
-B/SCRATCH/tmp.rXGZe12682/gcc-4.5.0/gcc-4.5.0/./gcc/
-B/opt/devel/gnu/cross-gcc/Linux/x86_64-unknown-linux-gnu/openSUSE_10.3/cross/Linux/i
a64-unknown-linux-gnu/SLC_4.7/gcc-4.5.0/ia64-unknown-linux-gnu/bin/
-B/opt/devel/gnu/cross-gcc/Linux/x86_64-unknown-linux-gnu/openSUSE_10.3/cross/Linux/ia64-unknown-linux-gnu/SLC_4.7/gcc-4.5.0/ia64-unknown-lin
ux-gnu/lib/ -isystem
/opt/devel/gnu/cross-gcc/Linux/x86_64-unknown-linux-gnu/openSUSE_10.3/cross/Linux/ia64-unknown-linux-gnu/SLC_4.7/gcc-4.5.0/ia64-unknown-linux-gnu/include
-isystem /opt/devel/gnu/cross-gcc/
Linux/x86_64-unknown-linux-gnu/openSUSE_10.3/cross/Linux/ia64-unknown-linux-gnu/SLC_4.7/gcc-4.5.0/ia64-unknown-linux-gnu/sys-include
      conftest.c  >&5
collect2: ld terminated with signal 11 [Segmentation fault]
configure:2394: $? = 1
configure:2431: result:
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| /* end confdefs.h.  */
|
| int
| main ()
| {
|
|   ;
|   return 0;
| }


verbose output:

rainer@kasandra-lx:/SCRATCH/tmp.rXGZe12682/gcc-4.5.0/gcc-4.5.0/ia64-unknown-linux-gnu/libada>
ia64-unknown-linux-gnu-ld --verbose
--sysroot=/opt/devel/tec/setup/sys-root/Linux/ia64-unknown-linux-gnu/SLC_4.7
-dynamic-linker /lib/ld-linux-ia64.so.2
/opt/devel/tec/setup/sys-root/Linux/ia64-unknown-linux-gnu/SLC_4.7/usr/lib/crt1.o
/opt/devel/tec/setup/sys-root/Linux/ia64-unknown-linux-gnu/SLC_4.7/usr/lib/crti.o
/SCRATCH/tmp.rXGZe12682/gcc-4.5.0/gcc-4.5.0/./gcc/crtbegin.o
-L/SCRATCH/tmp.rXGZe12682/gcc-4.5.0/gcc-4.5.0/./gcc
-L/opt/devel/gnu/cross-gcc/Linux/x86_64-unknown-linux-gnu/openSUSE_10.3/cross/Linux/ia64-unknown-linux-gnu/SLC_4.7/gcc-4.5.0/ia64-unknown-linux-gnu/bin
-L/opt/devel/gnu/cross-gcc/Linux/x86_64-unknown-linux-gnu/openSUSE_10.3/cross/Linux/ia64-unknown-linux-gnu/SLC_4.7/gcc-4.5.0/ia64-unknown-linux-gnu/lib
-L/opt/devel/tec/setup/sys-root/Linux/ia64-unknown-linux-gnu/SLC_4.7/lib
-L/opt/devel/tec/setup/sys-root/Linux/ia64-unknown-linux-gnu/SLC_4.7/usr/lib
conftest.o -lgcc --as-needed -lgcc_s -lunwind --no-as-needed -lc -lgcc
--as-needed -lgcc_s -lunwind --no-as-needed
/SCRATCH/tmp.rXGZe12682/gcc-4.5.0/gcc-4.5.0/./gcc/crtend.o
/opt/devel/tec/setup/sys-root/Linux/ia64-unknown-linux-gnu/SLC_4.7/usr/lib/crtn.o
GNU ld (GNU Binutils) 2.20
  Supported emulations:
   elf64_ia64
using internal linker script:
==================================================
/* Script for -z combreloc: combine and sort reloc sections */
OUTPUT_FORMAT("elf64-ia64-little", "elf64-ia64-little",
              "elf64-ia64-little")
OUTPUT_ARCH(ia64)
ENTRY(_start)
SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib");
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  PROVIDE (__executable_start = SEGMENT_START("text-segment",
0x4000000000000000)); . = SEGMENT_START("text-segment", 0x4000000000000000) +
SIZEOF_HEADERS;
  .interp         : { *(.interp) }
  .note.gnu.build-id : { *(.note.gnu.build-id) }
.
.
.
.
  /* DWARF 3 */
  .debug_pubtypes 0 : { *(.debug_pubtypes) }
  .debug_ranges   0 : { *(.debug_ranges) }
  .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) }
  /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
}


==================================================
attempt to open
/opt/devel/tec/setup/sys-root/Linux/ia64-unknown-linux-gnu/SLC_4.7/usr/lib/crt1.o
succeeded
/opt/devel/tec/setup/sys-root/Linux/ia64-unknown-linux-gnu/SLC_4.7/usr/lib/crt1.o
Segmentation fault (core dumped)


Backtrace:

Core was generated by `ia64-unknown-linux-gnu-ld --verbose
--sysroot=/opt/devel/tec/setup/sys-root/Lin'.
Program terminated with signal 11, Segmentation fault.
#0  0x000000000043f309 in elf64_ia64_check_relocs (abfd=<value optimized out>,
info=0x6f0d00, sec=<value optimized out>, relocs=<value optimized out>) at
elf64-ia64.c:1550
1550      if (s && (s->flags & SEC_LOAD))
(gdb) where
#0  0x000000000043f309 in elf64_ia64_check_relocs (abfd=<value optimized out>,
info=0x6f0d00, sec=<value optimized out>, relocs=<value optimized out>) at
elf64-ia64.c:1550
#1  0x000000000045cfa0 in bfd_elf_link_add_symbols (abfd=<value optimized out>,
info=<value optimized out>) at
/opt/devel/gnu/src/gcc/binutils-2.20/bfd/elflink.c:477
#2  0x0000000000000000 in ?? ()
(gdb)


-- 
           Summary: gcc 4.50 miscompiles binutils
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: rainer at emrich-ebersheim dot de
 GCC build triplet: x86_64-unknown-linux-gnu
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41750



More information about the Gcc-bugs mailing list