diff options
author | Florian Weimer <fweimer@redhat.com> | 2019-03-14 15:02:52 +0100 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2019-03-14 15:38:00 +0100 |
commit | 081bdf942126b7d4a368d09438a06fd831c14dad (patch) | |
tree | 0443315f5c94d1b07bb59c29c6c1ac61beb4712a /nss/tst-nss-files-alias-truncated.c | |
parent | 97f8225d22ef727ae9935cc231643efdc430d530 (diff) | |
download | glibc-081bdf942126b7d4a368d09438a06fd831c14dad.tar.gz glibc-081bdf942126b7d4a368d09438a06fd831c14dad.tar.xz glibc-081bdf942126b7d4a368d09438a06fd831c14dad.zip |
nss: Fix tst-nss-files-alias-truncated for default --as-needed linking
Linking to the NSS module directly does not work if the linker defaults to --as-needed because it will remove the apparently unused DSO reference and not generate a DT_NEEDED entry. Use an explicit dlopen call, like in the other chroot tests involving NSS modules.
Diffstat (limited to 'nss/tst-nss-files-alias-truncated.c')
-rw-r--r-- | nss/tst-nss-files-alias-truncated.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/nss/tst-nss-files-alias-truncated.c b/nss/tst-nss-files-alias-truncated.c index 2d6aba3c0e..029ae6a2a7 100644 --- a/nss/tst-nss-files-alias-truncated.c +++ b/nss/tst-nss-files-alias-truncated.c @@ -17,11 +17,13 @@ <http://www.gnu.org/licenses/>. */ #include <aliases.h> +#include <gnu/lib-names.h> #include <nss.h> #include <stddef.h> #include <support/check.h> #include <support/namespace.h> #include <support/test-driver.h> +#include <support/xdlfcn.h> #include <support/xunistd.h> static void @@ -42,8 +44,9 @@ in_chroot (void *closure) static int do_test (void) { - /* nss_files has already been loaded via DT_NEEDED, outside the - chroot. */ + /* Make sure we don't try to load the module in the chroot. */ + xdlopen (LIBNSS_FILES_SO, RTLD_NOW); + __nss_configure_lookup ("aliases", "files"); support_become_root (); |