(was Re: Binutils 2.18 available)

Jan Beulich jbeulich@novell.com
Fri Sep 21 11:03:00 GMT 2007


Your request to apply the same change to R_386_GNU_VTINHERIT as was
suggested by Michael for handling R_386_GNU_VTENTRY (in
http://sourceware.org/ml/binutils/2007-07/msg00438.html) was apparently
wrong: Looking at the two functions bfd_elf_gc_record_vtinherit() and
bfd_elf_gc_record_vtentry() reveals the significant difference that the
former is prepared to deal with h being NULL, while the latter isn't. Beyond
requesting to revert that part of the patch I'm also curious to understand
why the same change wasn't applied to all other affected instances in
various elf<width>-<arch>.c files (which accounts for the odd situation
that, as described in Daniel's response, mentioned tests succeed for x86-64
whereas they fail for i386).

Jan

>>> Daniel Jacobowitz <drow@false.org> 29.08.07 18:35 >>>
On Wed, Aug 29, 2007 at 04:32:52PM +0100, Jan Beulich wrote:
> >How on earth did you get an R_386_GNU_VTINHERIT?  You must be using a
> >much older compiler than I am.
> 
> gcc 3.3.1 (SuSE 9.0) - are 3.3.x compilers not supported anymore?

Of course they are.  I don't know if -fvtable-gc is, though.  I know
that recent GCC's no longer emit .vtable_inherit, so it is likely that
the support is starting to rot.

     # Starting with 3.4.0, -fvtable-gc is no longer supported and thus
     # the functionality we try to test for cannot be expected to work.

selective4 and selective5 pass for me on x86_64-linux with GCC 3.3,
FWIW.

-- 
Daniel Jacobowitz
CodeSourcery



More information about the Binutils mailing list