Blame elf/dl-usage.c

Packit Service 235a9c
/* Print usage information and help for ld.so.
Packit Service 235a9c
   Copyright (C) 1995-2020 Free Software Foundation, Inc.
Packit Service 235a9c
   This file is part of the GNU C Library.
Packit Service 235a9c
Packit Service 235a9c
   The GNU C Library is free software; you can redistribute it and/or
Packit Service 235a9c
   modify it under the terms of the GNU Lesser General Public
Packit Service 235a9c
   License as published by the Free Software Foundation; either
Packit Service 235a9c
   version 2.1 of the License, or (at your option) any later version.
Packit Service 235a9c
Packit Service 235a9c
   The GNU C Library is distributed in the hope that it will be useful,
Packit Service 235a9c
   but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service 235a9c
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit Service 235a9c
   Lesser General Public License for more details.
Packit Service 235a9c
Packit Service 235a9c
   You should have received a copy of the GNU Lesser General Public
Packit Service 235a9c
   License along with the GNU C Library; if not, see
Packit Service 235a9c
   <https://www.gnu.org/licenses/>.  */
Packit Service 235a9c
Packit Service 235a9c
#include <dl-cache.h>
Packit Service 235a9c
#include <dl-main.h>
Packit Service 235a9c
#include <ldsodefs.h>
Packit Service 5f150c
#include <unistd.h>
Packit Service 235a9c
Packit Service 235a9c
void
Packit Service 5f150c
_dl_usage (const char *argv0, const char *wrong_option)
Packit Service 235a9c
{
Packit Service 5f150c
  if (wrong_option != NULL)
Packit Service 5f150c
    _dl_error_printf ("%s: unrecognized option '%s'\n", argv0, wrong_option);
Packit Service 5f150c
  else
Packit Service 5f150c
    _dl_error_printf ("%s: missing program name\n", argv0);
Packit Service 5f150c
  _dl_error_printf ("Try '%s --help' for more information.\n", argv0);
Packit Service 5f150c
  _exit (EXIT_FAILURE);
Packit Service 5f150c
}
Packit Service 5f150c
Packit Service 5f150c
void
Packit Service 5f150c
_dl_help (const char *argv0, struct dl_main_state *state)
Packit Service 5f150c
{
Packit Service 5f150c
  _dl_printf ("\
Packit Service 5f150c
Usage: %s [OPTION]... EXECUTABLE-FILE [ARGS-FOR-PROGRAM...]\n\
Packit Service 235a9c
You have invoked `ld.so', the helper program for shared library executables.\n\
Packit Service 235a9c
This program usually lives in the file `/lib/ld.so', and special directives\n\
Packit Service 235a9c
in executable files using ELF shared libraries tell the system's program\n\
Packit Service 235a9c
loader to load the helper program from this file.  This helper program loads\n\
Packit Service 235a9c
the shared libraries needed by the program executable, prepares the program\n\
Packit Service 235a9c
to run, and runs it.  You may invoke this helper program directly from the\n\
Packit Service 235a9c
command line to load and run an ELF executable file; this is like executing\n\
Packit Service 235a9c
that file itself, but always uses this helper program from the file you\n\
Packit Service 235a9c
specified, instead of the helper program file specified in the executable\n\
Packit Service 235a9c
file you run.  This is mostly of use for maintainers to test new versions\n\
Packit Service 235a9c
of this helper program; chances are you did not intend to run this program.\n\
Packit Service 235a9c
\n\
Packit Service 235a9c
  --list                list all dependencies and how they are resolved\n\
Packit Service 235a9c
  --verify              verify that given object really is a dynamically linked\n\
Packit Service 235a9c
                        object we can handle\n\
Packit Service 235a9c
  --inhibit-cache       Do not use " LD_SO_CACHE "\n\
Packit Service 235a9c
  --library-path PATH   use given PATH instead of content of the environment\n\
Packit Service 235a9c
                        variable LD_LIBRARY_PATH\n\
Packit Service 235a9c
  --inhibit-rpath LIST  ignore RUNPATH and RPATH information in object names\n\
Packit Service 235a9c
                        in LIST\n\
Packit Service 235a9c
  --audit LIST          use objects named in LIST as auditors\n\
Packit Service 235a9c
  --preload LIST        preload objects named in LIST\n\
Packit Service 5f150c
  --argv0 STRING        set argv[0] to STRING before running\n\
Packit Service 5f150c
  --help                display this help and exit\n\
Packit Service 5f150c
",
Packit Service 5f150c
              argv0);
Packit Service 5f150c
  _exit (EXIT_SUCCESS);
Packit Service 235a9c
}