This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
ld segfault for powerpc-linux with CVS trunk
- From: James Troup <james at nocrew dot org>
- To: binutils at sources dot redhat dot com
- Date: Wed, 05 Nov 2003 02:16:47 +0000
- Subject: ld segfault for powerpc-linux with CVS trunk
Hi,
As reported in http://bugs.debian.org/219187/, ld segfaults while
linking hdf5 on powerpc-linux. I've reproduced this segfault with CVS
trunk; backtrace is below. The files mentioned in the command line
are available from:
http://people.debian.org/~troup/binutils/files.tar.gz
[FWIW, this is a regression from 2.14.90.0.6 (...if only to provide a
rough timeframe)]
--
James
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
troup@bruckner:~/hdf5/hdf5-1.6.1/debian/build-serial/src$ gcc -v -shared .libs/H5.o .libs/H5A.o .libs/H5AC.o .libs/H5B.o .libs/H5D.o .libs/H5Dio.o .libs/H5E.o .libs/H5F.o .libs/H5Fcontig.o .libs/H5Fcompact.o .libs/H5Fistore.o .libs/H5Fseq.o .libs/H5FD.o .libs/H5FDcore.o .libs/H5FDfamily.o .libs/H5FDfphdf5.o .libs/H5FDgass.o .libs/H5FDlog.o .libs/H5FDmpio.o .libs/H5FDmpiposix.o .libs/H5FDmulti.o .libs/H5FDsec2.o .libs/H5FDsrb.o .libs/H5FDstdio.o .libs/H5FDstream.o .libs/H5FL.o .libs/H5FO.o .libs/H5FP.o .libs/H5FPclient.o .libs/H5FPserver.o .libs/H5FS.o .libs/H5G.o .libs/H5Gent.o .libs/H5Gnode.o .libs/H5Gstab.o .libs/H5HG.o .libs/H5HL.o .libs/H5HP.o .libs/H5I.o .libs/H5MF.o .libs/H5MM.o .libs/H5O.o .libs/H5Oattr.o .libs/H5Obogus.o .libs/H5Ocont.o .libs/H5Odtype.o .libs/H5Oefl.o .libs/H5Ofill.o .libs/H5Olayout.o .libs/H5Omtime.o .libs/H5Oname.o .libs/H5Onull.o .libs/H5Opline.o .libs/H5Osdspace.o .libs/H5Oshared.o .libs/H5Ostab.o .libs/H5P.o .libs/H5Pdcpl.o .libs/H5Pdxpl.o .libs/H5Pfapl.o .libs/H5Pfcpl.o .libs/H5Ptest.o .libs/H5R.o .libs/H5RS.o .libs/H5S.o .libs/H5Sall.o .libs/H5Shyper.o .libs/H5Smpio.o .libs/H5Snone.o .libs/H5Spoint.o .libs/H5Sselect.o .libs/H5Stest.o .libs/H5ST.o .libs/H5T.o .libs/H5Tarray.o .libs/H5Tbit.o .libs/H5Tcommit.o .libs/H5Tcompound.o .libs/H5Tconv.o .libs/H5Tcset.o .libs/H5Tenum.o .libs/H5Tfields.o .libs/H5Tfixed.o .libs/H5Tfloat.o .libs/H5Tinit.o .libs/H5Tnative.o .libs/H5Toffset.o .libs/H5Topaque.o .libs/H5Torder.o .libs/H5Tpad.o .libs/H5Tprecis.o .libs/H5Tstrpad.o .libs/H5Tvlen.o .libs/H5TB.o .libs/H5TS.o .libs/H5V.o .libs/H5Z.o .libs/H5Zdeflate.o .libs/H5Zfletcher32.o .libs/H5Zshuffle.o .libs/H5Zszip.o -lpthread -lz -lm -Wl,-soname -Wl,libhdf5-1.6.1.so.0 -o .libs/libhdf5-1.6.1.so.0.0.0
Reading specs from /usr/lib/gcc-lib/powerpc-linux/3.3.2/specs
Configured with: ../src/configure -v --enable-languages=c,c++,java,f77,pascal,objc,ada --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --enable-__cxa_atexit --enable-clocale=gnu --enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc --disable-multilib powerpc-linux
Thread model: posix
gcc version 3.3.2 (Debian)
/usr/lib/gcc-lib/powerpc-linux/3.3.2/collect2 --eh-frame-hdr -V -Qy -shared -m elf32ppclinux -o .libs/libhdf5-1.6.1.so.0.0.0 /usr/lib/gcc-lib/powerpc-linux/3.3.2/../../../crti.o /usr/lib/gcc-lib/powerpc-linux/3.3.2/crtbeginS.o -L/usr/lib/gcc-lib/powerpc-linux/3.3.2 -L/usr/lib/gcc-lib/powerpc-linux/3.3.2/../../.. .libs/H5.o .libs/H5A.o .libs/H5AC.o .libs/H5B.o .libs/H5D.o .libs/H5Dio.o .libs/H5E.o .libs/H5F.o .libs/H5Fcontig.o .libs/H5Fcompact.o .libs/H5Fistore.o .libs/H5Fseq.o .libs/H5FD.o .libs/H5FDcore.o .libs/H5FDfamily.o .libs/H5FDfphdf5.o .libs/H5FDgass.o .libs/H5FDlog.o .libs/H5FDmpio.o .libs/H5FDmpiposix.o .libs/H5FDmulti.o .libs/H5FDsec2.o .libs/H5FDsrb.o .libs/H5FDstdio.o .libs/H5FDstream.o .libs/H5FL.o .libs/H5FO.o .libs/H5FP.o .libs/H5FPclient.o .libs/H5FPserver.o .libs/H5FS.o .libs/H5G.o .libs/H5Gent.o .libs/H5Gnode.o .libs/H5Gstab.o .libs/H5HG.o .libs/H5HL.o .libs/H5HP.o .libs/H5I.o .libs/H5MF.o .libs/H5MM.o .libs/H5O.o .libs/H5Oattr.o .libs/H5Obogus.o .libs/H5Ocont.o .libs/H5Odtype.o .libs/H5Oefl.o .libs/H5Ofill.o .libs/H5Olayout.o .libs/H5Omtime.o .libs/H5Oname.o .libs/H5Onull.o .libs/H5Opline.o .libs/H5Osdspace.o .libs/H5Oshared.o .libs/H5Ostab.o .libs/H5P.o .libs/H5Pdcpl.o .libs/H5Pdxpl.o .libs/H5Pfapl.o .libs/H5Pfcpl.o .libs/H5Ptest.o .libs/H5R.o .libs/H5RS.o .libs/H5S.o .libs/H5Sall.o .libs/H5Shyper.o .libs/H5Smpio.o .libs/H5Snone.o .libs/H5Spoint.o .libs/H5Sselect.o .libs/H5Stest.o .libs/H5ST.o .libs/H5T.o .libs/H5Tarray.o .libs/H5Tbit.o .libs/H5Tcommit.o .libs/H5Tcompound.o .libs/H5Tconv.o .libs/H5Tcset.o .libs/H5Tenum.o .libs/H5Tfields.o .libs/H5Tfixed.o .libs/H5Tfloat.o .libs/H5Tinit.o .libs/H5Tnative.o .libs/H5Toffset.o .libs/H5Topaque.o .libs/H5Torder.o .libs/H5Tpad.o .libs/H5Tprecis.o .libs/H5Tstrpad.o .libs/H5Tvlen.o .libs/H5TB.o .libs/H5TS.o .libs/H5V.o .libs/H5Z.o .libs/H5Zdeflate.o .libs/H5Zfletcher32.o .libs/H5Zshuffle.o .libs/H5Zszip.o -lpthread -lz -lm -soname libhdf5-1.6.1.so.0 -lgcc -lc -lgcc /usr/lib/gcc-lib/powerpc-linux/3.3.2/crtsavres.o /usr/lib/gcc-lib/powerpc-linux/3.3.2/crtendS.o /usr/lib/gcc-lib/powerpc-linux/3.3.2/../../../crtn.o
collect2: ld terminated with signal 11 [Segmentation fault]
troup@bruckner:~/hdf5/hdf5-1.6.1/debian/build-serial/src$
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
(gdb) bt
#0 0x1004e214 in ppc_elf_relocate_section (output_bfd=0x10127720, info=0x1011bed8, input_bfd=0x10174c20, input_section=0x101a17f4,
contents=0x302d6008 "\224!ÿÀ}\b\002¦= ", relocs=0x101a7718, local_syms=0x10aca360, local_sections=0x10acafb0) at elf32-ppc.c:5409
#1 0x1005ef60 in elf_link_input_bfd (finfo=0x7ffff160, input_bfd=0x10174c20) at elflink.h:5028
#2 0x1005b6e0 in bfd_elf32_bfd_final_link (abfd=0x10127720, info=0x1011bed8) at elflink.h:3577
#3 0x1001b42c in ldwrite () at ldwrite.c:565
#4 0x10017d04 in main (argc=125, argv=0x7ffff384) at ldmain.c:474
(gdb) bt full
#0 0x1004e214 in ppc_elf_relocate_section (output_bfd=0x10127720, info=0x1011bed8, input_bfd=0x10174c20, input_section=0x101a17f4,
contents=0x302d6008 "\224!ÿÀ}\b\002¦= ", relocs=0x101a7718, local_syms=0x10aca360, local_sections=0x10acafb0) at elf32-ppc.c:5409
osec = (asection *) 0x10116a20
indx = 11
skip = 0
sec = (asection *) 0x101a1d4c
r_symndx = 49
relocation = 0
branch_bit = 0
insn = 279628958
tls_mask = 0
r = bfd_reloc_ok
warned = 0
tls_gd = 0
addend = 1486856
sym = (Elf_Internal_Sym *) 0x10aca734
howto = (const struct reloc_howto_struct *) 0x100fc6e4
from = 2147479600
tls_type = 0
r_type = R_PPC_ADDR16_HA
h = (struct elf_link_hash_entry *) 0x0
sym_name = 0x101a0110 ".rodata.cst8"
unresolved_reloc = 0
symtab_hdr = (Elf_Internal_Shdr *) 0x1019f87c
sym_hashes = (struct elf_link_hash_entry **) 0x101a6e48
htab = (struct ppc_elf_link_hash_table *) 0x10129938
rel = (Elf_Internal_Rela *) 0x101a9d04
relend = (Elf_Internal_Rela *) 0x101a9efc
outrel = {r_offset = 744534, r_info = 175370, r_addend = 1486856}
loc = (bfd_byte *) 0x3024bcb8 ""
sreloc = (asection *) 0x1013c244
local_got_offsets = (bfd_vma *) 0x0
ret = 1
#1 0x1005ef60 in elf_link_input_bfd (finfo=0x7ffff160, input_bfd=0x10174c20) at elflink.h:5028
internal_relocs = (Elf_Internal_Rela *) 0x101a7718
contents = (bfd_byte *) 0x302d6008 "\224!ÿÀ}\b\002¦= "
relocate_section = (bfd_boolean (*)(bfd *, struct bfd_link_info *, bfd *, asection *, bfd_byte *, Elf_Internal_Rela *, Elf_Internal_Sym *,
asection **)) 0x1004c7e8 <ppc_elf_relocate_section>
output_bfd = (bfd *) 0x10127720
symtab_hdr = (Elf_Internal_Shdr *) 0x1019f87c
locsymcount = 56
extsymoff = 56
isymbuf = (Elf_Internal_Sym *) 0x10aca360
isym = (Elf_Internal_Sym *) 0x10aca7c0
isymend = (Elf_Internal_Sym *) 0x10aca7c0
pindex = (long int *) 0x10acae80
ppsection = (asection **) 0x10acb090
o = (asection *) 0x101a17f4
bed = (const struct elf_backend_data *) 0x100ff3e8
emit_relocs = 0
sym_hashes = (struct elf_link_hash_entry **) 0x101a6e48
#2 0x1005b6e0 in bfd_elf32_bfd_final_link (abfd=0x10127720, info=0x1011bed8) at elflink.h:3577
dynamic = 1
emit_relocs = 0
dynobj = (bfd *) 0x1012fab0
finfo = {info = 0x1011bed8, output_bfd = 0x10127720, symstrtab = 0x108f62c8, dynsym_sec = 0x101325a4, hash_sec = 0x1013276c,
symver_sec = 0x10132474, contents = 0x302d6008 "\224!ÿÀ}\b\002¦= ", external_relocs = 0x10aad108, internal_relocs = 0x10abb618,
external_syms = 0x10ac9b28, locsym_shndx = 0x0, internal_syms = 0x10aca360, indices = 0x10acada0, sections = 0x10acafb0, symbuf = 0x10aac8d0,
symshndxbuf = 0x0, symbuf_count = 61, symbuf_size = 131, shndxbuf_size = 0}
o = (asection *) 0x1012912c
p = (struct bfd_link_order *) 0x10a86970
sub = (bfd *) 0x10174c20
max_contents_size = 2194944
max_external_reloc_size = 58632
max_internal_reloc_count = 4886
max_sym_count = 131
max_sym_shndx_count = 0
off = 6685916
elfsym = {st_value = 0, st_size = 0, st_name = 0, st_info = 3 '\003', st_other = 0 '\0', st_shndx = 42}
i = 43
symtab_hdr = (Elf_Internal_Shdr *) 0x10127844
symtab_shndx_hdr = (Elf_Internal_Shdr *) 0x108c5d1c
symstrtab_hdr = (Elf_Internal_Shdr *) 0x1000aea4
bed = (const struct elf_backend_data *) 0x100ff3e8
eoinfo = {failed = 2147480144, localsyms = 267504044, finfo = 0x5}
merged = 1
relativecount = 0
reldyn = (asection *) 0x0
amt = 524
#3 0x1001b42c in ldwrite () at ldwrite.c:565
No locals.
#4 0x10017d04 in main (argc=125, argv=0x7ffff384) at ldmain.c:474
emulation = 0x7ffff6a2 "elf32ppclinux"
start_time = 40000
(gdb)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Other info as suggested by the documentation:
$ uname -a
Linux bruckner 2.4.21 #1 Don Aug 28 15:18:52 CEST 2003 ppc GNU/Linux
$ cat /proc/cpuinfo
cpu : 604r
clock : ???
revision : 49.2 (pvr 0009 3102)
bogomips : 299.00
machine : PReP Utah (Powerstack II Pro4000)
l2 cache : 512KiB, parity disabled SRAM:synchronous, pipelined, no parity
$ gcc --version
gcc (GCC) 3.3.2 (Debian)
$ ~/binutils/src/ld/ld-new --version
GNU ld version 2.14.90 20031105
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%