On 02/03/2026 11:44, Torbjorn SVENSSON wrote:
>
>
> On 2026-03-02 12:14, Richard Earnshaw (foss) wrote:
>> On 02/03/2026 10:59, Torbjorn SVENSSON wrote:
>>>
>>>
>>> On 2026-03-02 11:46, Richard Earnshaw (foss) wrote:
>>>> On 02/03/2026 10:42, Richard Biener wrote:
>>>>> On Mon, 2 Mar 2026, Torbjörn SVENSSON wrote:
>>>>>
>>>>>> Ok for trunk?
>>>>>
>>>>> OK.
>>>>>
>>>>
>>>> Wait!
>>>>
>>>> How is this failing for you? I'm not seeing that happen in my results.
>>>
>>> The entire test output is here:
>>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124320#c0
>>>
>>
>> I'm not seeing those errors on my thumb(1) runs.
>>
>> Executing on host: /work/rearnsha/scratch/nightly/arm/master/gcc/xgcc
>> -B/work/rearnsha/scratch/nightly/arm/master/gcc/ -mthumb
>> -fdiagnostics-plain-output -O2 -flto -flto-partition=1to1 -c -isystem
>> /work/rearnsha/scratch/nightly/arm/master/arm-eabi/thumb/newlib/targ-include
>> -isystem /home/rearnsha/gnusrc/nightly/gcc-cross/master/newlib/libc/include
>> -o c_lto_toplevel-extended-asm-1_0.o
>> /home/rearnsha/gnusrc/nightly/gcc-cross/master/gcc/testsuite/gcc.dg/lto/toplevel-extended-asm-1_0.c
>> (timeout = 300)
>> spawn -ignore SIGHUP /work/rearnsha/scratch/nightly/arm/master/gcc/xgcc
>> -B/work/rearnsha/scratch/nightly/arm/master/gcc/ -mthumb
>> -fdiagnostics-plain-output -O2 -flto -flto-partition=1to1 -c -isystem
>> /work/rearnsha/scratch/nightly/arm/master/arm-eabi/thumb/newlib/targ-include
>> -isystem /home/rearnsha/gnusrc/nightly/gcc-cross/master/newlib/libc/include
>> -o c_lto_toplevel-extended-asm-1_0.o
>> /home/rearnsha/gnusrc/nightly/gcc-cross/master/gcc/testsuite/gcc.dg/lto/toplevel-extended-asm-1_0.c
>> PASS: gcc.dg/lto/toplevel-extended-asm-1 c_lto_toplevel-extended-asm-1_0.o
>> assemble, -O2 -flto -flto-partition=1to1
>> Executing on host: /work/rearnsha/scratch/nightly/arm/master/gcc/xgcc
>> -B/work/rearnsha/scratch/nightly/arm/master/gcc/ -mthumb
>> -fdiagnostics-plain-output -O2 -flto -flto-partition=1to1 -c -isystem
>> /work/rearnsha/scratch/nightly/arm/master/arm-eabi/thumb/newlib/targ-include
>> -isystem /home/rearnsha/gnusrc/nightly/gcc-cross/master/newlib/libc/include
>> -o c_lto_toplevel-extended-asm-1_1.o
>> /home/rearnsha/gnusrc/nightly/gcc-cross/master/gcc/testsuite/gcc.dg/lto/toplevel-extended-asm-1_1.c
>> (timeout = 300)
>> spawn -ignore SIGHUP /work/rearnsha/scratch/nightly/arm/master/gcc/xgcc
>> -B/work/rearnsha/scratch/nightly/arm/master/gcc/ -mthumb
>> -fdiagnostics-plain-output -O2 -flto -flto-partition=1to1 -c -isystem
>> /work/rearnsha/scratch/nightly/arm/master/arm-eabi/thumb/newlib/targ-include
>> -isystem /home/rearnsha/gnusrc/nightly/gcc-cross/master/newlib/libc/include
>> -o c_lto_toplevel-extended-asm-1_1.o
>> /home/rearnsha/gnusrc/nightly/gcc-cross/master/gcc/testsuite/gcc.dg/lto/toplevel-extended-asm-1_1.c
>> PASS: gcc.dg/lto/toplevel-extended-asm-1 c_lto_toplevel-extended-asm-1_1.o
>> assemble, -O2 -flto -flto-partition=1to1
>> Executing on host: /work/rearnsha/scratch/nightly/arm/master/gcc/xgcc
>> -B/work/rearnsha/scratch/nightly/arm/master/gcc/
>> c_lto_toplevel-extended-asm-1_0.o c_lto_toplevel-extended-asm-1_1.o -mthumb
>> -dumpbase "" -fdiagnostics-plain-output -O2 -flto -flto-partition=1to1
>> -isystem
>> /work/rearnsha/scratch/nightly/arm/master/arm-eabi/thumb/newlib/targ-include
>> -isystem /home/rearnsha/gnusrc/nightly/gcc-cross/master/newlib/libc/include
>> -B/work/rearnsha/scratch/nightly/arm/master/arm-eabi/thumb/libgloss/arm/
>> -L/work/rearnsha/scratch/nightly/arm/master/arm-eabi/thumb/libgloss/arm
>> -L/home/rearnsha/gnusrc/nightly/gcc-cross/master/libgloss/arm
>> -L/work/rearnsha/scratch/nightly/arm/master/ld
>> -B/work/rearnsha/scratch/nightly/arm/master/arm-eabi/thumb/newlib/
>> -L/work/rearnsha/scratch/nightly/arm/master/arm-eabi/thumb/newlib
>> --specs=sync-none.specs -Wl,-wrap,exit -Wl,-wrap,_exit -Wl,-wrap,main
>> -Wl,-wrap,abort -Wl,gcc_tg.o -o gcc-dg-lto-toplevel-extended-asm-1-01.exe
>> (timeout = 300)
>> spawn -ignore SIGHUP /work/rearnsha/scratch/nightly/arm/master/gcc/xgcc
>> -B/work/rearnsha/scratch/nightly/arm/master/gcc/
>> c_lto_toplevel-extended-asm-1_0.o c_lto_toplevel-extended-asm-1_1.o -mthumb
>> -dumpbase -fdiagnostics-plain-output -O2 -flto -flto-partition=1to1
>> -isystem
>> /work/rearnsha/scratch/nightly/arm/master/arm-eabi/thumb/newlib/targ-include
>> -isystem /home/rearnsha/gnusrc/nightly/gcc-cross/master/newlib/libc/include
>> -B/work/rearnsha/scratch/nightly/arm/master/arm-eabi/thumb/libgloss/arm/
>> -L/work/rearnsha/scratch/nightly/arm/master/arm-eabi/thumb/libgloss/arm
>> -L/home/rearnsha/gnusrc/nightly/gcc-cross/master/libgloss/arm
>> -L/work/rearnsha/scratch/nightly/arm/master/ld
>> -B/work/rearnsha/scratch/nightly/arm/master/arm-eabi/thumb/newlib/
>> -L/work/rearnsha/scratch/nightly/arm/master/arm-eabi/thumb/newlib
>> --specs=sync-none.specs -Wl,-wrap,exit -Wl,-wrap,_exit -Wl,-wrap,main
>> -Wl,-wrap,abort -Wl,gcc_tg.o -o gcc-dg-lto-toplevel-extended-asm-1-01.exe
>> lto-wrapper: warning: using serial compilation of 2 LTRANS jobs
>> lto-wrapper: note: see the '-flto' option documentation for more information
>> PASS: gcc.dg/lto/toplevel-extended-asm-1
>> c_lto_toplevel-extended-asm-1_0.o-c_lto_toplevel-extended-asm-1_1.o link,
>> -O2 -flto -flto-partition=1to1
>>
>>
>> So the question is why are we seeing different behaviours here?
>
> I suppose your toolchain is uing -march=armv4t internally when you do not
> define an arch and this architecture supports both -marm, -mthumb and a mix
> of them.
>
> Maybe my expression is not completly correct. Maybe it should be like this?
>
> /* { dg-skip-if "inline assembler not compatible" { { arm_thumb1 ||
> arm_thumb2 } && { ! arm_arm_ok } } } */
We already have arm_cortex_m that handles that case.
But I'd like to try and fix the test if we can reasonably do so.
Perhaps something like adding
#ifdef __ELF__
asm(".type %cc0, function" :: ":" (asm_fn));
asm(".type %cc0, function" :: ":" (asm_fn_used));
#endif
would be sufficient, though I haven't tried it.
R.
>
>
> While writing this reply, I saw that you asked for what version of binutils
> I'm using and it's 2.45.1.
>
>
> Kind regards,
> Torbjörn
>
>>
>> R.
>>
>>> Kind regards,
>>> Torbjörn
>>>
>>>>
>>>> R.
>>>>
>>>>>> --
>>>>>>
>>>>>> The inline assembler in the test case is incompatible with -mthumb for
>>>>>> arm-none-eabi toolchains.
>>>>>>
>>>>>> gcc/testsuite/ChangeLog:
>>>>>>
>>>>>> PR testsuite/124320
>>>>>> * gcc.dg/lto/toplevel-extended-asm-1_0.c: Skip test for thumb
>>>>>> mode.
>>>>>>
>>>>>> Signed-off-by: Torbjörn SVENSSON <[email protected]>
>>>>>> ---
>>>>>> gcc/testsuite/gcc.dg/lto/toplevel-extended-asm-1_0.c | 1 +
>>>>>> 1 file changed, 1 insertion(+)
>>>>>>
>>>>>> diff --git a/gcc/testsuite/gcc.dg/lto/toplevel-extended-asm-1_0.c
>>>>>> b/gcc/testsuite/gcc.dg/lto/toplevel-extended-asm-1_0.c
>>>>>> index 341d95ae0d5..8988a06c0a7 100644
>>>>>> --- a/gcc/testsuite/gcc.dg/lto/toplevel-extended-asm-1_0.c
>>>>>> +++ b/gcc/testsuite/gcc.dg/lto/toplevel-extended-asm-1_0.c
>>>>>> @@ -1,4 +1,5 @@
>>>>>> /* { dg-lto-do link } */
>>>>>> +/* { dg-skip-if "inline assembler not compatible" { arm_thumb1 ||
>>>>>> arm_thumb2 } } */
>>>>>> /* { dg-lto-options {{-O2 -flto -flto-partition=1to1} } } */
>>>>>> void asm_fn();
>>>>>>
>>>>>
>>>>
>>>
>>
>