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