Disable Clang's integrated assembler for two testcases

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 commit causes Clang to invoke the system assembler to assemble
the relevant files.

gdb/testsuite/ChangeLog:

	* gdb.dwarf2/dw2-dir-file-name.exp: Use system assembler
	when compiling with clang.
	* gdb.dwarf2/dw2-restore.exp: Likewise
This commit is contained in:
Gary Benson
2020-08-25 15:25:04 +01:00
parent 9f68b45348
commit b04aa1fc8c
3 changed files with 20 additions and 1 deletions

View File

@@ -1,3 +1,9 @@
2020-08-25 Gary Benson <gbenson@redhat.com>
* gdb.dwarf2/dw2-dir-file-name.exp: Use system assembler
when compiling with clang.
* gdb.dwarf2/dw2-restore.exp: Likewise
2020-08-25 Gary Benson <gbenson@redhat.com>
* gdb.cp/ambiguous.exp: Enable test when compiling with GCC.

View File

@@ -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

View File

@@ -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
}