[OE-core] Selectable linker (ld or gold) per recipe

Khem Raj raj.khem at gmail.com
Tue Sep 27 17:23:30 UTC 2011


Hello

We have gold and ld available to us as linker alternatives. When
linking webkit with ld it takes 45 mins and grabs 2G of memory where
as with gold on same machine
it took 7 minutes. But then we can not use gold to link glibc and
kernel and may not work on all supported arches. So gold may not be a
complete replacement for ld. A good solution is that we make it
possible
to choose linker at compile time when building the application. gcc
does not have provisions to select linker on commandline although it
has configure
options to select default linker.

We can use two solutions

One where <target>-ld is a wrapper to ld.gold or ld.bfd and calls the
linker based on commandline options passed to it e.g
arm-oe-linux-gnueabi-ld -gold and arm-oe-linux-gnueabi-ld -bfd and
this option can be passed thru the compiler with -Wl and same wrapper
gets symlinked to the ld called by compiler driver if no option is
specified than bfd linker
is used


Second option is that we install both linkers and then add necessary
option to gcc to select the linker I have not explored this option but
it certainly would be useful

This can give us some base so we can select linker per recipe

Ideas ?

Thanks

-Khem




More information about the Openembedded-core mailing list