gdc for rv32&64

Iain Buclaw ibuclaw at gdcproject.org
Mon Aug 16 10:05:08 UTC 2021


On Monday, 16 August 2021 at 09:28:41 UTC, Mahdi wrote:
> On Monday, 16 August 2021 at 08:43:40 UTC, Iain Buclaw wrote:
>> The list of targets on that site is only what's present in 
>> [contrib/config-list.mk](https://github.com/gcc-mirror/gcc/blob/91292490d573f9f9e4f162d6d8c693a969197f2d/contrib/config-list.mk#L32-L105), which is just a bunch of configurations that try to cover the broadest test vectors of the compiler back-end, and is in no way the full range of supported targets of GDC.
>>
>> [...]
>
> Very good! If LWDR works on risc-v, it would be great. I 
> thought it only works on ARM targets.

There's nothing specifically tied to ARM in LWDR per-say.  Maybe 
that'll change once exception support gets added (ARM EABI 
unwinder follows a different ABI), but I'm sure that can be 
coordinated with the maintainer to ensure both ARM EABI and 
Itanium can be toggled with a version flag.

The only prerequisite for LWDR I am aware of is that you must 
provide implementations for [these helper 
functions](https://github.com/hmmdyl/LWDR/blob/d55a39d028942f0eb1582d473317f89030995703/source/rtoslink.d#L14-L34), which would just wrap around Newlib in your case.  Whether the wrapper is in C or D doesn't matter.  The only difference is that you'll have to write out the extern(C) bindings yourself if in D.


More information about the D.gnu mailing list