[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 debug
optimize=-O2 optimize=-O2
additional_flags=-ffunction-sections additional_flags=-ffunction-sections
additional_flags=-largs ldflags=-largs
additional_flags=-Wl,--gc-sections ldflags=-Wl,--gc-sections
additional_flags=-margs ldflags=-margs
additional_flags=-gnatn additional_flags=-gnatn
} }
if {[gdb_compile_ada "${srcfile}" "${binfile}" executable $options] != ""} { if {[gdb_compile_ada "${srcfile}" "${binfile}" executable $options] != ""} {

View File

@ -28,7 +28,7 @@ if { [skip_cplus_tests] } { continue }
standard_testfile .cc standard_testfile .cc
if {[build_executable_from_specs $testfile.exp $testfile \ 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}]} { $srcfile {debug c++ additional_flags=-ffunction-sections}]} {
untested "failed to compile" untested "failed to compile"
return -1 return -1

View File

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

View File

@ -29,7 +29,7 @@ set formats {binary ihex srec tekhex verilog}
if [istarget "alpha*-*-*"] then { if [istarget "alpha*-*-*"] then {
# SREC etc cannot handle 64-bit addresses. Force the test # SREC etc cannot handle 64-bit addresses. Force the test
# program into the low 31 bits of the address space. # 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 # 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" untested "failed to compile"
return -1 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] != "" } { if { [gdb_compile ${objfile} ${binfile} executable $opts] != "" } {
unsupported "-Wl,-z,relro compilation failed" unsupported "-Wl,-z,relro compilation failed"
return -1 return -1

View File

@ -61,8 +61,8 @@ proc build {resolver_attr resolver_debug final_debug} {
set final_opts {} set final_opts {}
# Force lazy binding so we don't resolve everything at process startup. # Force lazy binding so we don't resolve everything at process startup.
lappend exec_opts "additional_flags=-Wl,-z,lazy" lappend exec_opts "ldflags=-Wl,-z,lazy"
lappend lib_opts "additional_flags=-Wl,-z,lazy" lappend lib_opts "ldflags=-Wl,-z,lazy"
if {$resolver_attr} { if {$resolver_attr} {
lappend lib_opts "additional_flags=-DIFUNC_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" \ if {[prepare_for_testing "failed to prepare" $testfile "$srcfile $srcfile2" \
{debug c++ additional_flags=-fuse-ld=gold \ {debug c++ additional_flags=-fuse-ld=gold \
additional_flags=-Wl,--gdb-index \ ldflags=-Wl,--gdb-index \
additional_flags=-ggnu-pubnames}]} { additional_flags=-ggnu-pubnames}]} {
return -1 return -1
} }

View File

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

View File

@ -27,9 +27,9 @@ standard_testfile .c
set opts {} set opts {}
lappend opts debug 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 \ if { [gdb_can_simple_compile ld-flags {int main () { return 0; }} executable \
$ld_flags] } { $ld_flags] } {
lappend opts $ld_flags lappend opts $ld_flags

View File

@ -33,7 +33,7 @@ set flags {}
lappend flags debug lappend flags debug
lappend flags additional_flags=-std=gnu99 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 \ if { [gdb_can_simple_compile ld-flags {int main () { return 0; }} executable \
$ld_flags] } { $ld_flags] } {
lappend flags $ld_flags lappend flags $ld_flags

View File

@ -33,7 +33,7 @@ set flags {}
lappend flags debug lappend flags debug
lappend flags additional_flags=-std=gnu99 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 \ if { [gdb_can_simple_compile ld-flags {int main () { return 0; }} executable \
$ld_flags] } { $ld_flags] } {
lappend flags $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 \ if {[gdb_compile "${binfile_main}.o" "${binfile_main}" executable \
[list debug "additional_flags=-L$testobjdir" \ [list debug "additional_flags=-L$testobjdir" \
"additional_flags=-l${test}" \ "additional_flags=-l${test}" \
"additional_flags=-Wl,-rpath=$testobjdir"]] != ""} { "ldflags=-Wl,-rpath=$testobjdir"]] != ""} {
return -1 return -1
} }

View File

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

View File

@ -52,7 +52,7 @@ set exec_opts [list debug shlib=${library1} shlib=${library2}]
# invalid core file. # invalid core file.
if { [gdb_compile ${srcdir}/${subdir}/${srcfile} ${binfile} executable \ 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] != "" } { && [gdb_compile ${srcdir}/${subdir}/${srcfile} ${binfile} executable $exec_opts] != "" } {
untested "failed to compile" untested "failed to compile"
return -1 return -1

View File

@ -35,7 +35,7 @@ if [istarget "*-*-linux"] then {
set opts [list debug] set opts [list debug]
if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${objfile}" object $opts] != "" 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] != "") } { && [gdb_compile_pthreads "${objfile}" "${binfile}" executable $opts] != "") } {
return -1 return -1
} }

View File

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