[gdb/testsuite] Fix gdb.base/infoline-reloc-main-from-zero.exp with clang

With test-case gdb.base/infoline-reloc-main-from-zero.exp and clang I run into:
...
gdb compile failed, clang-13.0: warning: -e main: 'linker' input unused \
  [-Wunused-command-line-argument]
clang-13.0: warning: -Wl,-Ttext=0x00: 'linker' input unused \
  [-Wunused-command-line-argument]
clang-13.0: warning: -Wl,-N: 'linker' input unused \
  [-Wunused-command-line-argument]
UNTESTED: gdb.base/infoline-reloc-main-from-zero.exp: \
  infoline-reloc-main-from-zero.exp
UNTESTED: gdb.base/infoline-reloc-main-from-zero.exp: failed to compile
...

Fix this by using ldflags instead of additional_flags.

Likewise, fix all occurrences of:
...
$ find gdb/testsuite -name *.exp | xargs grep additional_flags.*Wl
...

Tested on x86_64-linux.
This commit is contained in:
Tom de Vries
2022-10-14 13:09:51 +02:00
parent 68f7bda9b1
commit 21f507efad
16 changed files with 26 additions and 26 deletions

View File

@ -23,9 +23,9 @@ set options {
debug
optimize=-O2
additional_flags=-ffunction-sections
additional_flags=-largs
additional_flags=-Wl,--gc-sections
additional_flags=-margs
ldflags=-largs
ldflags=-Wl,--gc-sections
ldflags=-margs
additional_flags=-gnatn
}
if {[gdb_compile_ada "${srcfile}" "${binfile}" executable $options] != ""} {

View File

@ -28,7 +28,7 @@ if { [skip_cplus_tests] } { continue }
standard_testfile .cc
if {[build_executable_from_specs $testfile.exp $testfile \
{c++ additional_flags=-Wl,--gc-sections} \
{c++ ldflags=-Wl,--gc-sections} \
$srcfile {debug c++ additional_flags=-ffunction-sections}]} {
untested "failed to compile"
return -1

View File

@ -25,8 +25,8 @@ set binfile2 [standard_output_file ${testfile2}]
set opts [list debug]
lappend opts "additional_flags=-ffunction-sections"
lappend opts "additional_flags=-fdata-sections"
lappend opts "additional_flags=-Wl,-gc-sections"
lappend opts "additional_flags=-Wl,-e,main"
lappend opts "ldflags=-Wl,-gc-sections"
lappend opts "ldflags=-Wl,-e,main"
# Place variables in .data instead of .sdata.
if {[istarget "riscv*-*-*"]} {

View File

@ -29,7 +29,7 @@ set formats {binary ihex srec tekhex verilog}
if [istarget "alpha*-*-*"] then {
# SREC etc cannot handle 64-bit addresses. Force the test
# program into the low 31 bits of the address space.
lappend options "additional_flags=-Wl,-taso"
lappend options "ldflags=-Wl,-taso"
}
# Runs the command 'print zero_all ()'. Uses the PRINT_ZERO_ALL_COUNT

View File

@ -29,7 +29,7 @@ set objfile [standard_output_file ${testfile}.o]
untested "failed to compile"
return -1
}
set opts [list debug shlib=${binfile_lib} additional_flags=-Wl,-z,relro]
set opts [list debug shlib=${binfile_lib} ldflags=-Wl,-z,relro]
if { [gdb_compile ${objfile} ${binfile} executable $opts] != "" } {
unsupported "-Wl,-z,relro compilation failed"
return -1

View File

@ -61,8 +61,8 @@ proc build {resolver_attr resolver_debug final_debug} {
set final_opts {}
# Force lazy binding so we don't resolve everything at process startup.
lappend exec_opts "additional_flags=-Wl,-z,lazy"
lappend lib_opts "additional_flags=-Wl,-z,lazy"
lappend exec_opts "ldflags=-Wl,-z,lazy"
lappend lib_opts "ldflags=-Wl,-z,lazy"
if {$resolver_attr} {
lappend lib_opts "additional_flags=-DIFUNC_RESOLVER_ATTR"

View File

@ -23,7 +23,7 @@ if { [have_fuse_ld_gold] == 0} {
if {[prepare_for_testing "failed to prepare" $testfile "$srcfile $srcfile2" \
{debug c++ additional_flags=-fuse-ld=gold \
additional_flags=-Wl,--gdb-index \
ldflags=-Wl,--gdb-index \
additional_flags=-ggnu-pubnames}]} {
return -1
}

View File

@ -19,7 +19,7 @@
standard_testfile
if { [build_executable "failed to prepare" $testfile $srcfile \
{debug additional_flags=-Wl,--build-id}] } {
{debug ldflags=-Wl,--build-id}] } {
return
}

View File

@ -27,9 +27,9 @@ standard_testfile .c
set opts {}
lappend opts debug
lappend opts "additional_flags=-nostdlib -emain -Wl,-Ttext=0x00 -Wl,-N"
lappend opts "ldflags=-nostdlib -emain -Wl,-Ttext=0x00 -Wl,-N"
set ld_flags additional_flags=-Wl,--no-warn-rwx-segments
set ld_flags ldflags=-Wl,--no-warn-rwx-segments
if { [gdb_can_simple_compile ld-flags {int main () { return 0; }} executable \
$ld_flags] } {
lappend opts $ld_flags

View File

@ -33,7 +33,7 @@ set flags {}
lappend flags debug
lappend flags additional_flags=-std=gnu99
set ld_flags additional_flags=-Wl,--no-warn-execstack
set ld_flags ldflags=-Wl,--no-warn-execstack
if { [gdb_can_simple_compile ld-flags {int main () { return 0; }} executable \
$ld_flags] } {
lappend flags $ld_flags

View File

@ -33,7 +33,7 @@ set flags {}
lappend flags debug
lappend flags additional_flags=-std=gnu99
set ld_flags additional_flags=-Wl,--no-warn-execstack
set ld_flags ldflags=-Wl,--no-warn-execstack
if { [gdb_can_simple_compile ld-flags {int main () { return 0; }} executable \
$ld_flags] } {
lappend flags $ld_flags

View File

@ -54,7 +54,7 @@ set testobjdir [standard_output_file {}]
if {[gdb_compile "${binfile_main}.o" "${binfile_main}" executable \
[list debug "additional_flags=-L$testobjdir" \
"additional_flags=-l${test}" \
"additional_flags=-Wl,-rpath=$testobjdir"]] != ""} {
"ldflags=-Wl,-rpath=$testobjdir"]] != ""} {
return -1
}

View File

@ -19,7 +19,7 @@
standard_testfile
if { [build_executable "failed to prepare" $testfile $srcfile \
{debug additional_flags=-Wl,--build-id}] == -1 } {
{debug ldflags=-Wl,--build-id}] == -1 } {
return
}

View File

@ -52,7 +52,7 @@ set exec_opts [list debug shlib=${library1} shlib=${library2}]
# invalid core file.
if { [gdb_compile ${srcdir}/${subdir}/${srcfile} ${binfile} executable \
[concat $exec_opts additional_flags=-Wl,-z,norelro]] != ""
[concat $exec_opts ldflags=-Wl,-z,norelro]] != ""
&& [gdb_compile ${srcdir}/${subdir}/${srcfile} ${binfile} executable $exec_opts] != "" } {
untested "failed to compile"
return -1

View File

@ -35,7 +35,7 @@ if [istarget "*-*-linux"] then {
set opts [list debug]
if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${objfile}" object $opts] != ""
|| ([gdb_compile_pthreads "${objfile}" "${binfile}" executable [concat $opts {additional_flags=-Wl,-z,norelro}] ] != ""
|| ([gdb_compile_pthreads "${objfile}" "${binfile}" executable [concat $opts {ldflags=-Wl,-z,norelro}] ] != ""
&& [gdb_compile_pthreads "${objfile}" "${binfile}" executable $opts] != "") } {
return -1
}

View File

@ -4589,7 +4589,7 @@ proc gdb_compile {source dest type options} {
set shlib_found 1
if { ([istarget "*-*-mingw*"]
|| [istarget *-*-cygwin*]) } {
lappend new_options "additional_flags=-Wl,--enable-auto-import"
lappend new_options "ldflags=-Wl,--enable-auto-import"
}
if { [test_compiler_info "gcc-*"] || [test_compiler_info "clang-*"] } {
# Undo debian's change in the default.
@ -4956,7 +4956,7 @@ proc gdb_compile_shlib_1 {sources dest options} {
} else {
set name ${dest}
}
lappend link_options "additional_flags=-Wl,--out-implib,${name}.a"
lappend link_options "ldflags=-Wl,--out-implib,${name}.a"
} else {
# Set the soname of the library. This causes the linker on ELF
# systems to create the DT_NEEDED entry in the executable referring
@ -4968,7 +4968,7 @@ proc gdb_compile_shlib_1 {sources dest options} {
# rpath=$ORIGIN value when building the executable, so that it's
# able to find the library in its own directory.
set destbase [file tail $dest]
lappend link_options "additional_flags=-Wl,-soname,$destbase"
lappend link_options "ldflags=-Wl,-soname,$destbase"
}
}
if {[gdb_compile "${objects}" "${dest}" executable $link_options] != ""} {
@ -8585,7 +8585,7 @@ gdb_caching_proc have_fuse_ld_gold {
# Return 1 if linker supports -Ttext-segment, otherwise return 0.
gdb_caching_proc linker_supports_Ttext_segment_flag {
set me "linker_supports_Ttext_segment_flag"
set flags additional_flags="-Wl,-Ttext-segment=0x7000000"
set flags ldflags="-Wl,-Ttext-segment=0x7000000"
set src { int main() { return 0; } }
return [gdb_simple_compile $me $src executable $flags]
}
@ -8593,7 +8593,7 @@ gdb_caching_proc linker_supports_Ttext_segment_flag {
# Return 1 if linker supports -Ttext, otherwise return 0.
gdb_caching_proc linker_supports_Ttext_flag {
set me "linker_supports_Ttext_flag"
set flags additional_flags="-Wl,-Ttext=0x7000000"
set flags ldflags="-Wl,-Ttext=0x7000000"
set src { int main() { return 0; } }
return [gdb_simple_compile $me $src executable $flags]
}
@ -8601,7 +8601,7 @@ gdb_caching_proc linker_supports_Ttext_flag {
# Return 1 if linker supports --image-base, otherwise 0.
gdb_caching_proc linker_supports_image_base_flag {
set me "linker_supports_image_base_flag"
set flags additional_flags="-Wl,--image-base=0x7000000"
set flags ldflags="-Wl,--image-base=0x7000000"
set src { int main() { return 0; } }
return [gdb_simple_compile $me $src executable $flags]
}