[PATCH] Disable Clang's integrated assembler for two testcases
Gary Benson
gbenson@redhat.com
Wed Aug 19 14:55:54 GMT 2020
Hi all,
gdb.dwarf2/dw2-dir-file-name.exp fails to build using Clang because
the generated assembly language contains .ascii directives with more
than one string literal. gdb.dwarf2/dw2-restore.exp fails to build
using Clang because it contains .func and .endfunc directives.
This patch causes Clang to invoke the system assembler to assemble
the relevant files.
Checked on Fedora 32 x86_64, GCC and clang. Ok to commit?
Cheers,
Gary
--
gdb/testsuite/ChangeLog:
* gdb.dwarf2/dw2-dir-file-name.exp: Use system assembler
when compiling with clang.
* gdb.dwarf2/dw2-restore.exp: Likewise
---
gdb/testsuite/ChangeLog | 6 ++++++
gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.exp | 6 ++++++
gdb/testsuite/gdb.dwarf2/dw2-restore.exp | 9 ++++++++-
3 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.exp b/gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.exp
index 0de71f2..973325f 100644
--- a/gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.exp
+++ b/gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.exp
@@ -333,6 +333,12 @@ lappend opts "additional_flags=-DFDIR=\"fdir\""
# CU's DW_AT_name and .debug_line's filename.
lappend opts "additional_flags=-DFILE=\"${srctmpfile}\""
+# Clang's integrated assembler doesn't support .ascii directives
+# with multiple string literals.
+if { [test_compiler_info clang*] } {
+ lappend opts "additional_flags=-fno-integrated-as"
+}
+
if { [gdb_compile "${asmsrcfile} ${srcdir}/${subdir}/$srcfile" "${binfile}" executable $opts] != "" } {
untested "failed to compile"
return -1
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-restore.exp b/gdb/testsuite/gdb.dwarf2/dw2-restore.exp
index 993f79f..04887db 100644
--- a/gdb/testsuite/gdb.dwarf2/dw2-restore.exp
+++ b/gdb/testsuite/gdb.dwarf2/dw2-restore.exp
@@ -21,8 +21,15 @@ if {![istarget x86_64-*] || ![is_lp64_target]} {
}
standard_testfile .S
+set opts [list {additional_flags=-nostdlib}]
+
+# Clang's integrated assembler doesn't support .func or .endfunc.
+if { [test_compiler_info clang*] } {
+ lappend opts [list {additional_flags=-fno-integrated-as}]
+}
+
if {[prepare_for_testing "failed to prepare" $testfile [list $srcfile] \
- [list {additional_flags=-nostdlib}]]} {
+ $opts]} {
return -1
}
--
1.8.3.1
More information about the Gdb-patches
mailing list