Fix the PR22983 test so that it will work regardless of the order of the symbols in the dynamic symbol table.
See email thread starting here for more details: https://sourceware.org/ml/binutils/2018-06/msg00036.html PR 22983 * testsuite/ld-plugin/lto.exp: Use individual tests to check for the presence of each expected symbol. * testsuite/ld-plugin/pr22983.1.d: New file. * testsuite/ld-plugin/pr22983.2.d: New file. * testsuite/ld-plugin/pr22983.3.d: New file. * testsuite/ld-plugin/pr22983.4.d: New file.
This commit is contained in:
parent
d89c18895b
commit
212b9bc7b4
|
@ -1,5 +1,13 @@
|
||||||
2018-06-12 Nick Clifton <nickc@redhat.com>
|
2018-06-12 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
|
PR 22983
|
||||||
|
* testsuite/ld-plugin/lto.exp: Use individual tests to check for
|
||||||
|
the presence of each expected symbol.
|
||||||
|
* testsuite/ld-plugin/pr22983.1.d: New file.
|
||||||
|
* testsuite/ld-plugin/pr22983.2.d: New file.
|
||||||
|
* testsuite/ld-plugin/pr22983.3.d: New file.
|
||||||
|
* testsuite/ld-plugin/pr22983.4.d: New file.
|
||||||
|
|
||||||
* emulparams/aarch64elf.sh (OTHER_BSS_END_SYMBOLS): Make the
|
* emulparams/aarch64elf.sh (OTHER_BSS_END_SYMBOLS): Make the
|
||||||
definition of the __bss_end__ symbol conditional upon CREATE_SHLIB.
|
definition of the __bss_end__ symbol conditional upon CREATE_SHLIB.
|
||||||
|
|
||||||
|
|
|
@ -572,13 +572,29 @@ run_ld_link_exec_tests $lto_run_tests
|
||||||
|
|
||||||
if { [is_elf_format] } {
|
if { [is_elf_format] } {
|
||||||
run_ld_link_exec_tests $lto_run_elf_tests
|
run_ld_link_exec_tests $lto_run_elf_tests
|
||||||
|
|
||||||
|
# Note - it is not guaranteed that the ordering of symbols in the dynamic
|
||||||
|
# symbol table will match the ordering of the symbols specified by the
|
||||||
|
# --dynamic-list command line option.
|
||||||
|
#
|
||||||
|
# For PR22983 we want to make sure that all four symbols specified in
|
||||||
|
# pr222983.t are present in the output, but a simple sequences of regexps
|
||||||
|
# will not work as we do not know the order of the symbols. (Readelf
|
||||||
|
# does not have a symbol sorting option and the run_cc_list_tests proc
|
||||||
|
# does not allow for the output of the dump program to piped into `sort`).
|
||||||
|
#
|
||||||
|
# So instead we run readelf four times, each time checking for the
|
||||||
|
# presence of a specific symbol from the pr22983.t file.
|
||||||
run_cc_link_tests [list \
|
run_cc_link_tests [list \
|
||||||
[list \
|
[list \
|
||||||
"Build pr22983" \
|
"Build pr22983" \
|
||||||
"-Wl,--dynamic-list,pr22983.t" \
|
"-Wl,--dynamic-list,pr22983.t" \
|
||||||
"-flto" \
|
"-flto" \
|
||||||
{pr22983a.c pr22983b.c} \
|
{pr22983a.c pr22983b.c} \
|
||||||
{{readelf {--dyn-syms --wide} pr22983.d}} \
|
{{readelf {--dyn-syms --wide} pr22983.1.d} \
|
||||||
|
{readelf {--dyn-syms --wide} pr22983.2.d} \
|
||||||
|
{readelf {--dyn-syms --wide} pr22983.3.d} \
|
||||||
|
{readelf {--dyn-syms --wide} pr22983.4.d}} \
|
||||||
"pr22983" \
|
"pr22983" \
|
||||||
] \
|
] \
|
||||||
]
|
]
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
Symbol table '\.dynsym' contains [0-9]+ entries:
|
||||||
|
+Num: +Value +Size Type +Bind +Vis +Ndx Name
|
||||||
|
#...
|
||||||
|
+[0-9]+: +[0-9a-f]+ +[0-9a-f]+ +OBJECT +GLOBAL +DEFAULT +[0-9]+ +_?var_attr_used_enabled
|
||||||
|
#pass
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
Symbol table '\.dynsym' contains [0-9]+ entries:
|
||||||
|
+Num: +Value +Size Type +Bind +Vis +Ndx Name
|
||||||
|
#...
|
||||||
|
+[0-9]+: +[0-9a-f]+ +[0-9a-f]+ +OBJECT +GLOBAL +DEFAULT +[0-9]+ +_?var_attr_used_disabled
|
||||||
|
#pass
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
Symbol table '\.dynsym' contains [0-9]+ entries:
|
||||||
|
+Num: +Value +Size Type +Bind +Vis +Ndx Name
|
||||||
|
#...
|
||||||
|
+[0-9]+: +[0-9a-f]+ +[0-9a-f]+ +FUNC +GLOBAL +DEFAULT +[0-9]+ +_?func_attr_used_enabled
|
||||||
|
#pass
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
Symbol table '\.dynsym' contains [0-9]+ entries:
|
||||||
|
+Num: +Value +Size Type +Bind +Vis +Ndx Name
|
||||||
|
#...
|
||||||
|
+[0-9]+: +[0-9a-f]+ +[0-9a-f]+ +FUNC +GLOBAL +DEFAULT +[0-9]+ +_?func_attr_used_disabled
|
||||||
|
#pass
|
Loading…
Reference in New Issue