diff options
Diffstat (limited to 'elf/rtld.c')
-rw-r--r-- | elf/rtld.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/elf/rtld.c b/elf/rtld.c index 8d9add90e3..596b6ac3d9 100644 --- a/elf/rtld.c +++ b/elf/rtld.c @@ -50,6 +50,7 @@ #include <dl-main.h> #include <list.h> #include <gnu/lib-names.h> +#include <dl-tunables.h> #include <assert.h> @@ -1276,6 +1277,16 @@ dl_main (const ElfW(Phdr) *phdr, _dl_argc -= 2; _dl_argv += 2; } +#if HAVE_TUNABLES + else if (! strcmp (_dl_argv[1], "--list-tunables")) + { + state.mode = rtld_mode_list_tunables; + + ++_dl_skip_args; + --_dl_argc; + ++_dl_argv; + } +#endif else if (strcmp (_dl_argv[1], "--help") == 0) { state.mode = rtld_mode_help; @@ -1296,6 +1307,14 @@ dl_main (const ElfW(Phdr) *phdr, else break; +#if HAVE_TUNABLES + if (__glibc_unlikely (state.mode == rtld_mode_list_tunables)) + { + __tunables_print (); + _exit (0); + } +#endif + /* If we have no further argument the program was called incorrectly. Grant the user some education. */ if (_dl_argc < 2) |