From: Gary Benson Date: Mon, 2 Nov 2020 14:19:29 +0000 (+0000) Subject: Fix gdb.base/print-file-var.exp with Clang X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1c2bec1918cee91221bccc30db4f0253dc31d1b7;p=binutils-gdb.git Fix gdb.base/print-file-var.exp with Clang The C++ parts of gdb.base/print-file-var.exp failed to build with Clang because the "-x c++" option added by gdb_compile caused the compiler to attempt to parse .so files as C++. This commit splits the compiler and linker options into separate lists, and switches to building via build_executable_from_specs which can accommodate this separation. gdb/testsuite/ChangeLog: * gdb.base/print-file-var.exp (test): Separate compiler and linker options, and build using build_executable_from_specs to accommodate this. --- diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 330a5eb79ee..69483785ca2 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2020-11-02 Gary Benson + + * gdb.base/print-file-var.exp (test): Separate compiler and + linker options, and build using build_executable_from_specs + to accommodate this. + 2020-11-02 Gary Benson * lib/gdb.exp (gdb_compile): Inhibit passing "-x c++" diff --git a/gdb/testsuite/gdb.base/print-file-var.exp b/gdb/testsuite/gdb.base/print-file-var.exp index 22df9f10674..62e5f230ebe 100644 --- a/gdb/testsuite/gdb.base/print-file-var.exp +++ b/gdb/testsuite/gdb.base/print-file-var.exp @@ -56,22 +56,24 @@ proc test {hidden dlopen version_id_main lang} { return -1 } - set main_opts [list debug shlib=${libobj1} $lang] + set main_opts [list debug $lang] + set link_opts [list debug shlib=${libobj1}] if {$dlopen} { - lappend main_opts "shlib_load" \ - "additional_flags=-DSHLIB_NAME=\"$libobj2\"" + lappend main_opts "additional_flags=-DSHLIB_NAME=\"$libobj2\"" + lappend link_opts "shlib_load" } else { - lappend main_opts "shlib=${libobj2}" + lappend link_opts "shlib=${libobj2}" } lappend main_opts "additional_flags=-DVERSION_ID_MAIN=$version_id_main" - if { [gdb_compile "${srcdir}/${subdir}/${main}.c" \ - [standard_output_file ${executable}] \ - executable \ + if { [build_executable_from_specs ${main} \ + $executable \ + $link_opts \ + ${main}.c \ $main_opts] - != ""} { + != 0 } { return -1 }