From 1c2bec1918cee91221bccc30db4f0253dc31d1b7 Mon Sep 17 00:00:00 2001 From: Gary Benson Date: Mon, 2 Nov 2020 14:19:29 +0000 Subject: 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. --- gdb/testsuite/ChangeLog | 6 ++++++ gdb/testsuite/gdb.base/print-file-var.exp | 18 ++++++++++-------- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 330a5eb..6948378 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,5 +1,11 @@ 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++" for .c files compiled as C++ with Clang if any shared libraries are specified. diff --git a/gdb/testsuite/gdb.base/print-file-var.exp b/gdb/testsuite/gdb.base/print-file-var.exp index 22df9f1..62e5f23 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 } -- cgit v1.1