On Wed, Oct 2, 2024 at 3:48 PM Richard Sandiford <richard.sandif...@arm.com> wrote: > > This patch tries to make check-function-bodies automatically > choose between reading the regular assembly file and reading the > LTO assembly file. There should only ever be one right answer, > since check-function-bodies doesn't make sense on slim LTO output. > > Maybe this will turn out to be impossible to get right, but I'd like > to try at least. > > Tested on aarch64-linux-gnu. OK to install?
OK. > Richard > > > gcc/testsuite/ > * lib/scanasm.exp (check-function-bodies): Look in ltrans0.ltrans.s > if the test appears to be using LTO. > --- > gcc/testsuite/lib/scanasm.exp | 24 ++++++++++++++++-------- > 1 file changed, 16 insertions(+), 8 deletions(-) > > diff --git a/gcc/testsuite/lib/scanasm.exp b/gcc/testsuite/lib/scanasm.exp > index 737eefc655e..26504deb0e6 100644 > --- a/gcc/testsuite/lib/scanasm.exp > +++ b/gcc/testsuite/lib/scanasm.exp > @@ -997,16 +997,17 @@ proc check-function-bodies { args } { > error "too many arguments to check-function-bodies" > } > > + upvar 2 dg-extra-tool-flags extra_tool_flags > + set flags $extra_tool_flags > + > + global torture_current_flags > + if { [info exists torture_current_flags] } { > + append flags " " $torture_current_flags > + } > + > if { [llength $args] >= 3 } { > set required_flags [lindex $args 2] > > - upvar 2 dg-extra-tool-flags extra_tool_flags > - set flags $extra_tool_flags > - > - global torture_current_flags > - if { [info exists torture_current_flags] } { > - append flags " " $torture_current_flags > - } > foreach required_flag $required_flags { > switch -- $required_flag { > target - > @@ -1043,7 +1044,14 @@ proc check-function-bodies { args } { > > global srcdir > set input_filename "$srcdir/$filename" > - set output_filename "[file rootname [file tail $filename]].s" > + set output_filename "[file rootname [file tail $filename]]" > + if { [string match "* -flto *" " ${flags} "] > + && ![string match "* -fno-use-linker-plugin *" " ${flags} "] > + && ![string match "* -ffat-lto-objects *" " ${flags} "] } { > + append output_filename ".ltrans0.ltrans.s" > + } else { > + append output_filename ".s" > + } > > set prefix [lindex $args 0] > set prefix_len [string length $prefix] > -- > 2.25.1 >