This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH v16 5/5] Test adding and removing a symbol file at runtime.
- From: Tom Tromey <tromey at redhat dot com>
- To: Nicolas Blanc <nicolas dot blanc at intel dot com>
- Cc: gdb-patches at sourceware dot org
- Date: Thu, 10 Oct 2013 14:44:59 -0600
- Subject: Re: [PATCH v16 5/5] Test adding and removing a symbol file at runtime.
- Authentication-results: sourceware.org; auth=none
- References: <1381148820-21890-1-git-send-email-nicolas dot blanc at intel dot com> <1381148820-21890-6-git-send-email-nicolas dot blanc at intel dot com>
>>>>> "Nicolas" == Nicolas Blanc <nicolas.blanc@intel.com> writes:
Nicolas> 2013-04-04 Nicolas Blanc <nicolas.blanc@intel.com>
Nicolas> * gdb.base/sym-file-lib.c: New file.
Nicolas> * gdb.base/sym-file-loader.c: New file.
Nicolas> * gdb.base/sym-file-loader.h: New file.
Nicolas> * gdb.base/sym-file-main.c: New file.
Nicolas> * gdb.base/sym-file.exp: New file.
Nicolas> +if [is_lp64_target] {
Nicolas> + set target_size TARGET_LP64
Nicolas> +} elseif [is_ilp32_target] {
Nicolas> + set target_size TARGET_ILP32
Nicolas> +} else {
Nicolas> + return 0
Nicolas> +}
It's slightly better to brace the expressions. Otherwise they are both
evaluated first.
That is:
if {[is_ilp64_target]} { ...
Nicolas> +set testfile sym-file.exp
Nicolas> +set mainfile sym-file-main
Nicolas> +set loaderfile sym-file-loader
Nicolas> +set libfile sym-file-lib
Nicolas> +set srcfiles "${mainfile}.c ${loaderfile}.c"
Nicolas> +set libsrc "${srcdir}/${subdir}/${libfile}.c"
Nicolas> +set libname "${libfile}.so"
Nicolas> +set shlib_name "${objdir}/${subdir}/${libname}"
Nicolas> +set libobj "${objdir}/${subdir}/${libname}"
It's better to use standard_testfile and standard_output_file.
That way it will work with the parallelization patch series.
Nicolas> +set result [gdb_test "add-symbol-file ${shlib_name} addr" \
Nicolas> + "Reading symbols from .*${shlib_name}\\.\\.\\.done\\." \
Nicolas> + "add-symbol-file ${shlib_name} addr" \
It looks like the full file name of the shlib ends up in the test name
here. It's better to use a test name that doesn't depend on the cwd, so
that comparisons across different build directories don't yield spurious
differences.
Nicolas> +gdb_test "info files" \
Nicolas> + "^(?=(.*${libname})).*" \
Nicolas> + "info files must display $libname"
Here too and presumably elsewhere.
Tom