This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Always set l_used for vDSO (BZ #13706)


On Sat, Feb 25, 2012 at 8:02 AM, Marek Polacek <polacek@redhat.com> wrote:
> On Sat, Feb 25, 2012 at 10:06:51AM +0100, Andreas Schwab wrote:
>> "Carlos O'Donell" <carlos@systemhalted.org> writes:
>>
>> > Are you saying that the test will not fail in the future if the VDSO
>> > name changes?
>>
>> Obviously not.
>
> Ok, what about something like this? ?(No grep, resetting $LD_PRELOAD.)

This *also* looks good to me, fixes the bug, and uses a more robust test.

Andreas, Looks good to you?

> 2012-02-24 ?Marek Polacek ?<polacek@redhat.com>
>
> ? ? ? ?[BZ #13706]
> ? ? ? ?* elf/rtld.c (dl_main): Always set l_used to 1 for vDSO.
> ? ? ? ?* elf/Makefile: Add rules to run tst-unused-dep.out.
>
> --- libc/elf/Makefile.mp ? ? ? ?2012-02-23 14:24:05.292652999 +0100
> +++ libc/elf/Makefile ? 2012-02-25 10:28:04.716711694 +0100
> @@ -1203,3 +1203,14 @@ $(objpfx)tst-relsort1mod1.so: $(libm) $(
> ?$(objpfx)tst-relsort1mod2.so: $(libm)
> ?$(objpfx)tst-relsort1.out: $(objpfx)tst-relsort1mod1.so \
> ? ? ? ? ? ? ? ? ? ? ? ? ? $(objpfx)tst-relsort1mod2.so
> +
> +tests: $(objpfx)tst-unused-dep.out
> +
> +$(objpfx)tst-unused-dep.out: $(objpfx)testobj1.so
> + ? ? ? LD_TRACE_LOADED_OBJECTS=1 \
> + ? ? ? LD_DEBUG=unused \
> + ? ? ? LD_PRELOAD= \
> + ? ? ? $(elf-objpfx)${rtld-installed-name} \
> + ? ? ? ? --library-path $(rpath-link)$(patsubst %,:%,$(sysdep-library-path)) \
> + ? ? ? ? $< > $@
> + ? ? ? cmp $@ /dev/null > /dev/null
> --- libc/elf/rtld.c.mp ?2012-02-20 10:03:06.799226404 +0100
> +++ libc/elf/rtld.c ? ? 2012-02-25 12:01:59.507829267 +0100
> @@ -1,5 +1,5 @@
> ?/* Run time dynamic linker.
> - ? Copyright (C) 1995-2010, 2011 Free Software Foundation, Inc.
> + ? Copyright (C) 1995-2012 Free Software Foundation, Inc.
> ? ?This file is part of the GNU C Library.
>
> ? ?The GNU C Library is free software; you can redistribute it and/or
> @@ -1375,6 +1375,9 @@ of this helper program; chances are you
> ? ? ? ? ?_dl_setup_hash (l);
> ? ? ? ? ?l->l_relocated = 1;
>
> + ? ? ? ? /* The vDSO is always used. ?*/
> + ? ? ? ? l->l_used = 1;
> +
> ? ? ? ? ?/* Initialize l_local_scope to contain just this map. ?This allows
> ? ? ? ? ? ? the use of dl_lookup_symbol_x to resolve symbols within the vdso.
> ? ? ? ? ? ? So we create a single entry list pointing to l_real as its only
>
> ? ? ? ?Marek

Cheers,
Carlos.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]