This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: Prelinking relative relocations in shared objects
Ian Lance Taylor <ian@airs.com> writes:
> That doesn't indicate which version you are using, so I don't know.
> collect2 is a wrapper around the real linker, and you didn't indicate
> which version of the real linker you are running.
Ok, sorry...
I was using 2.9.5 of unknown provenance, and later tried
with 2.12.90.0.7 20020423 (from the debian cross toolchain source packages)
>> To me it seems as if -Bsymbolic only sets a flag that makes the
>> runtime linker behave differently.
>
> -Bsymbolic does set a flag. It normally also eliminates relocations
> for references within the same shared library. It is possible that
> this isn't implemented for ARM; it requires some processor specific
> work, and I don't know if that work has been done for ARM.
Both 2.9.5 and the 2.12.90 did not show up any source size on
Jakub Jelinek <jakub@redhat.com> writes:
> Have you tried making the symbols which should not be exported
> from the shared library .hidden in assembly or hide them through (possibly
> anonymous) version script?
I have now :-), thanks. I put in an overly aggressive script that made
everything local to test. This has no effect on the 2.9.5 ld but with
2.12.90 all the PC24 relocations have now become R_ARM_NONE, with the size
of the relocations table reduced by about 50%. As I am greedy, any chance
I could get the R_ARM_NONE removed as well.
> You can also have a look at prelink
> (ftp://ftp.redhat.com/pub/redhat/linux/rawhide/SRPMS/SRPMS/prelink-0.2.0-8.src.rpm).
I will thanks.
Jan