[PATCH,ARM] Suppress the dynamic linker commands for statically linked programs

Richard Earnshaw rearnsha@arm.com
Mon Sep 17 10:14:00 GMT 2012


On 14/09/12 21:34, Ben Cheng wrote:
> Hi,
> 
> Recently we found out that the .interp section starts to show up in
> ARM executables compiled with "-shared -static" and the gold linker
> from binutils 2.22. We tracked down the origin of the dynamic linker
> commands and they are always explicitly specified in
> config/arm/linux-elf.h. We tested the following simple patch to
> suppress the dynamic linker options for statically linked programs on
> Android's AOSP tree. Everything builds fine and the unneeded .interp
> section is gone.
> 
> Thanks,
> -Ben
> 
> ==
> 
> gcc/ChangeLog
> 2012-09-14 Ben Cheng <bccheng@google.com>
>     * config/arm/linux-elf.h: Suppress the dynamic linker commands for
>     statically linked programs.
> 
> Index: config/arm/linux-elf.h
> ===================================================================
> --- config/arm/linux-elf.h	(revision 191198)
> +++ config/arm/linux-elf.h	(working copy)
> @@ -65,8 +65,9 @@
>     %{static:-Bstatic} \
>     %{shared:-shared} \
>     %{symbolic:-Bsymbolic} \
> -   %{rdynamic:-export-dynamic} \
> -   -dynamic-linker " GNU_USER_DYNAMIC_LINKER " \
> +   %{!static: \
> +     %{rdynamic:-export-dynamic} \
> +     -dynamic-linker " GNU_USER_DYNAMIC_LINKER "} \
>     -X \
>     %{mbig-endian:-EB} %{mlittle-endian:-EL}" \
>     SUBTARGET_EXTRA_LINK_SPEC
> 

OK.

R.





More information about the Gcc-patches mailing list