mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-28 15:18:37 +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
|
||||
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] != ""} {
|
||||
|
@ -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
|
||||
|
@ -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*-*-*"]} {
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -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]
|
||||
}
|
||||
|
Reference in New Issue
Block a user