bug-gnu-utils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: possible binutils bug on ia64


From: Alan Modra
Subject: Re: possible binutils bug on ia64
Date: Thu, 7 Mar 2002 21:20:46 +1030
User-agent: Mutt/1.3.25i

On Wed, Mar 06, 2002 at 09:27:46PM -0800, Randolph Chung wrote:
> With the latest binutils (BFD version 020304 20020304O), glibc (2.2.5) doesn't
> build on ia64. I'm not sure if this is really a binutils bug or a glibc
> bug, but older binutils work...
> 
> The error from glibc is:
> Inconsistency detected by ld.so: ../sysdeps/ia64/dl-machine.h: 582:
> elf_machine_rela: Assertion `! "unexpected dynamic reloc format"' failed!
> 
> The problem seems to be that recent binutils generates a lot of
> R_IA64_NONE entries in .rela.got that is confusing the loader.

sysdeps/ia64/dl-machine.h:elf_machine_rela should really ignore
R_IA64_NONE relocs, but someone has looked at ld.so, found no
NONE relocs, and decided to optimize code for bootstrapping.

# ifndef RTLD_BOOTSTRAP
  else if (r_type == R_IA64_NONE)
    return;
# endif

> Compiled with above binutils:
> pippin[22:49] elf% readelf -a ./ld.so | grep -c IA64_NONE              
> 27
> 
> Compiled with older binutils:
> pippin[22:49] elf% readelf -a /lib/ld-linux-ia64.so.2  | grep -c IA64_NONE
> 0

Are you sure all other variables are fixed?  eg. Current mainline gcc
makes use of .hidden, and it's likely that these symbols are the
source of your R_IA64_NONE relocs.  Of course, ld shouldn't be
generating them anyway...

-- 
Alan Modra
IBM OzLabs - Linux Technology Centre



reply via email to

[Prev in Thread] Current Thread [Next in Thread]