Don't use INTDEF/INTUSE with _dl_argv (bug 14132)
Siddhesh Poyarekar
siddhesh@redhat.com
Tue Nov 4 17:16:00 GMT 2014
On Tue, Oct 21, 2014 at 12:45:50AM +0000, Joseph S. Myers wrote:
> Continuing the removal of the obsolete INTDEF / INTUSE mechanism, this
> patch replaces its use for _dl_argv with rtld_hidden_data_def and
> rtld_hidden_proto. Some places in .S files that previously used
> _dl_argv_internal or INTUSE(_dl_argv) now use __GI__dl_argv directly
> (there are plenty of existing examples of such direct use of __GI_*).
>
> A single place in rtld.c previously used _dl_argv without INTUSE,
> apparently accidentally, while the rtld_hidden_proto mechanism avoids
> such accidential omissions. As a consequence, this patch *does*
> change the contents of stripped ld.so. However, the installed
> stripped shared libraries are identical to those you get if instead of
> this patch you change that single _dl_argv use to use INTUSE, without
> any other changes.
>
> Tested for x86_64 (testsuite as well as comparison of installed
> stripped shared libraries as described above).
>
> 2014-10-21 Joseph Myers <joseph@codesourcery.com>
>
> [BZ #14132]
> * sysdeps/generic/ldsodefs.h (_dl_argv): Use rtld_hidden_proto.
> [IS_IN_rtld] (_dl_argv_internal): Do not declare.
> (rtld_progname): Make macro definition unconditional.
> * elf/rtld.c (_dl_argv): Use rtld_hidden_data_def instead of
> INTDEF.
> (dlmopen_doit): Do not use INTUSE with _dl_argv.
> (dl_main): Likewise.
> * elf/dl-sysdep.c (_dl_sysdep_start): Likewise.
> * sysdeps/alpha/dl-machine.h (RTLD_START): Use __GI__dl_argv
> instead of _dl_argv_internal.
> * sysdeps/powerpc/powerpc32/dl-start.S (_dl_start_user): Use
> __GI__dl_argv instead of INTUSE(_dl_argv).
> * sysdeps/powerpc/powerpc64/dl-machine.h (RTLD_START): Use
> __GI__dl_argv instead of _dl_argv_internal.
>
Looks good to me.
Siddhesh
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 473 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20141104/26d711fd/attachment.sig>
More information about the Libc-alpha
mailing list