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();
>>>>>>
>>>>>
>>>>
>>>
>>
> 

Reply via email to