MIPS multigot fixes for Linux

Richard Sandiford rsandifo@redhat.com
Wed Nov 12 08:38:00 GMT 2003


Richard Sandiford <rsandifo@redhat.com> writes:
> Looking at the code above, I see VALUE is set by:
> 
>       if (info->shared
> 	  || h->root.type == bfd_link_hash_undefined
> 	  || h->root.type == bfd_link_hash_undefweak)
> 	value = 0;
>       else if (sym->st_value)
> 	value = sym->st_value;
>       else
> 	value = h->root.u.def.value;
> 
> If the table above is right, then I think your patch will make this
> equivalent to:
> 
>       value = st_value;
> 
> which IMO makes things easier to follow.

Uh.  Equivalent for _glibc_.  For irix, it fixes a bug, since the relocation
field should contain the symbol value even if info->shared.

Richard



More information about the Binutils mailing list