On Thu, Aug 13, 2026 at 4:25 AM Lewis Hyatt <[email protected]> wrote:
>
> Hello-
>
> This patch was discussed here:
> https://gcc.gnu.org/pipermail/gcc-patches/2026-August/726564.html
>
> I thought I should resend it since it was buried in that thread.
>
> It was tested by me on x86-64 (with and without a target board enabling the
> test glue wrapper), and by Torbjörn on arm-none-eabi where the issue was
> first noticed. Is it OK please? Thanks!

OK

> -Lewis
>
> -- >8 --
>
> For targets that use a gluefile wrapper object, the extra object should not
> be included in the link for the new LTO incr-link mode.
>
> gcc/testsuite/ChangeLog:
>
>         * lib/lto.exp (lto-link-and-maybe-run): Unset gluefile for the
>         incremental link step, since the wrapper is not needed there and
>         does not contain LTO sections.
> ---
>  gcc/testsuite/lib/lto.exp | 15 ++++++++++++++-
>  1 file changed, 14 insertions(+), 1 deletion(-)
>
> diff --git a/gcc/testsuite/lib/lto.exp b/gcc/testsuite/lib/lto.exp
> index 7243547a52d..a6532e22076 100644
> --- a/gcc/testsuite/lib/lto.exp
> +++ b/gcc/testsuite/lib/lto.exp
> @@ -375,6 +375,7 @@ proc lto-link-and-maybe-run { testname objlist dest 
> optall optfile optstr } {
>      global tool
>      global compile_type
>      global board_info
> +    global gluefile
>
>      upvar dg-messages-by-file dg-messages-by-file
>
> @@ -408,16 +409,28 @@ proc lto-link-and-maybe-run { testname objlist dest 
> optall optfile optstr } {
>         set board_info($target_board,ldscript) ""
>      }
>
> +    set is_incr_link [string equal "incr-link" $optstr]
> +    if { $is_incr_link && [info exists gluefile] } {
> +       set sav_gluefile $gluefile
> +       # Setting gluefile to an empty string arranges that we still pass the 
> needed
> +       # -wrap flags to the linker, but we don't include the object file.
> +       set gluefile ""
> +    }
> +
>      # Link the objects into an executable.
>      set comp_output [${tool}_target_compile "$objlist" $dest executable \
>                      "$options"]
>
> +    if { [info exists sav_gluefile] } {
> +       set gluefile $sav_gluefile
> +    }
> +
>      if { $relocatable } {
>         set board_info($target_board,ldscript) $saved_ldscript
>      }
>
>      # Check for diagnostics specified by directives
> -    if { ! [string equal "incr-link" $optstr] } {
> +    if { ! $is_incr_link } {
>         set comp_output [lto_handle_diagnostics $comp_output $optstr]
>      }
>

Reply via email to