mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-30 00:52:16 +08:00
[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:
@ -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] != ""} {
|
||||||
|
@ -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
|
||||||
|
@ -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*-*-*"]} {
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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"
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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]
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user