[parisc-linux] binutils ICE while building todays gcc HEAD on hppa-linux
John David Anglin
dave@hiauly1.hia.nrc.ca
Wed, 25 Jun 2003 17:52:42 -0400 (EDT)
Hi,
> ICE in binutils-2.14.90.0.4 building gcc HEAD 20030625, while linking
> the shared libstdc++ library:
>
> [...]
> -Wl,-soname -Wl,libstdc++.so.6 -o .libs/libstdc++.so.6.0.0
> /usr/bin/ld: BFD 2.14.90.0.4 20030523 Debian GNU/Linux internal error, aborting at ../../bfd/elf32-hppa.c line 3864 in elf32_hppa_relocate_section
The error was introduced by this patch:
2003-06-23 Jakub Jelinek <jakub@redhat.com>
* method.c (thunk_labelno): New variable.
(make_alias_for_thunk): New function.
(use_thunk): Use it if defined ASM_OUTPUT_DEF. Put the thunk
into the same section as the function it is calling.
Include gt-cp-method.h.
* Make-lang.in (gt-cp-method.h): Depend on s-gtype.
(cp/method.o): Depend on gt-cp-method.h.
* config-lang.in (gtfiles): Add $(srcdir)/cp/method.c.
This patch changes the symbol used for the jump from a thunk from
a global symbol to a local symbol. We have been using a function
descriptor for the jump on hppa-linux and hppa-hpux. The GNU linker
dies when it hits a function descriptor with a relocation to a local
symbol in a linkonce section that is not output (i.e., we are trying
to generate a relocation for a symbol that no longer exists).
Dave
--
J. David Anglin dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6602)