diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | Makefile | 30 |
2 files changed, 27 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog index 23dc785f30..4d81d560d7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2019-10-02 Arjun Shankar <arjun@redhat.com> + + debugglibc.sh: Implement program arguments + * Makefile (debugglibc): Change variable definition. + 2019-10-01 Alistair Francis <alistair.francis@wdc.com> * time/bits/types/struct_timespec.h: Add padding for the timespec if diff --git a/Makefile b/Makefile index a50fb64dc2..a736c3afcc 100644 --- a/Makefile +++ b/Makefile @@ -202,9 +202,12 @@ unset ENVVARS usage() { cat << EOF -Usage: $$0 [OPTIONS] <testcase> +Usage: $$0 [OPTIONS] <program> - where <testcase> is the path to the program being tested. + Or: $$0 [OPTIONS] -- <program> [<args>]... + + where <program> is the path to the program being tested, + and <args> are the arguments to be passed to it. Options: @@ -224,11 +227,13 @@ Options: The following options do not take arguments: -i, --no-direct - Selects whether to pass the flag --direct to gdb. - Required for glibc test cases and not allowed for non-glibc tests. - Default behaviour is to pass the flag --direct to gdb. + Selects whether to pass the --direct flag to the program. + --direct is useful when debugging glibc test cases. It inhibits the + tests from forking and executing in a subprocess. + Default behaviour is to pass the --direct flag, except when the + program is run with user specified arguments using the "--" separator. -s, --no-symbols-file - Do not tell GDB to load debug symbols from the testcase. + Do not tell GDB to load debug symbols from the program. EOF } @@ -255,8 +260,17 @@ do -s|--no-symbols-file) SYMBOLSFILE=false ;; + --) + shift + TESTCASE=$$1 + COMMANDLINE="$$@" + # Don't add --direct when user specifies program arguments + DIRECT=false + break + ;; *) TESTCASE=$$1 + COMMANDLINE=$$TESTCASE ;; esac shift @@ -302,7 +316,7 @@ __ENVVARS__ __SYMBOLSFILE__ break _dl_start_user run --library-path $(rpath-link):$${BUILD_DIR}/nptl_db \ -__TESTCASE__ __DIRECT__ +__COMMANDLINE__ __DIRECT__ __BREAKPOINTS__ EOF } @@ -311,7 +325,7 @@ EOF template | sed \ -e "s|__ENVVARS__|$$ENVVARSCMD|" \ -e "s|__SYMBOLSFILE__|$$SYMBOLSFILE|" \ - -e "s|__TESTCASE__|$$TESTCASE|" \ + -e "s|__COMMANDLINE__|$$COMMANDLINE|" \ -e "s|__DIRECT__|$$DIRECT|" \ -e "s|__BREAKPOINTS__|$$BREAKPOINTS|" \ > $$CMD_FILE |