This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RFA: handle "MiniDebuginfo" section


Hi Tom,

On 26/11/12 19:20, Tom Tromey wrote:
diff --git a/gdb/testsuite/gdb.base/gnu-debugdata.exp b/gdb/testsuite/gdb.base/gnu-debugdata.exp
new file mode 100644
index 0000000..f876309
[snip]
+# Extract the dynamic symbols from the main binary, there is no need
+# to also have these in the normal symbol table.
+remote_file host delete ${binfile}.dynsyms
+if {[pipeline "nm -D" \
+        [list [transform nm] "-D ${binfile} --format=posix --defined-only"] \
+        [list awk "\\{print\\ \\\$1\\}"] \
+        [list sort "" "" "${binfile}.dynsyms"]]} {
+    return -1
+}

The test can fail when there is no dynamic symbols in the binary file as 'nm' will return 1 with an error message of "No symbols"; binaries for baremetal targets usually don't have dynamic symbols. In such a case, I think the test should generate an empty ${binfile}.dynsyms and continue. Or maybe the tests should only be run for linux targets?


+# Inject the compressed data into the .gnu_debugdata section of the
+# original binary.
+remote_file host delete ${binfile}.mini_debuginfo.xz
+if {[run "xz" "xz" "${binfile}.mini_debuginfo"]} {
+    return -1
+}

This creates a dependency on 'xz'. I think either its availability should be checked before the test (and return UNSUPPORTED if 'xz' not found), or 'xz' should be documented as required in the section of "Requirements for Building GDB".



Thanks, Yufeng


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]