Where is the arm-none-eabi target?

IGotD- nise at nise.com
Fri Mar 13 21:47:02 UTC 2020


On Friday, 13 March 2020 at 17:06:03 UTC, kinke wrote:
> On Friday, 13 March 2020 at 14:41:03 UTC, IGotD- wrote:
>> The problem is when using thumb-none-linux-eabi, the compiler 
>> automatically inserts D version identifiers like Posix.
>
> Yes, Linux is a Posix target.
>
>> but still for completeness shouldn't the non OS target be 
>> supported
>
> It is and doesn't predefine Posix etc. then; try 
> `-mtriple=thumb--none-eabi` (or `thumb-unknown-eabi` etc.).
>
>> and why aren't there any warning messages when using the 
>> arm-none-eabi target?
>
> Probably because it works just fine, at least it does for me 
> with LDC v1.20 on Windows - `ldc2 -c -mtriple=arm-none-eabi 
> hello.d -v && ls -l hello.o`. `-v` shows the expanded triple 
> (3rd line, => arm-none-unknown-eabi).

You are right, any other file works with arm-none-eabi.

Actually this might be more related to druntime rather than 
arm-none-eabi.

Try.

cd ldc/runtime/druntime/src (where your druntime is located).
ldc2 -c --output-o -conf= -w -de -dip1000 -mtriple=arm-none-eabi 
-O3 -release -preview=fieldwise -od=/tmp/objects -op core/atomic.d

ls /tmp/objects/core, and there is no atomic.o file.

the compiler just gives a warning: Warning: Assuming critical 
section size = 40 bytes
not sure what this is about.

change -mtriple to arm-none-linux-eabi and the object file is 
created.

I've tried to find if some identifier is missing because of this 
but I haven't found any also atomic should only be CPU 
architecture dependent.




More information about the digitalmars-d-ldc mailing list