Hello, This change introduces VxWorks support for aarch64, which we have tested in-house through a number of C/Ada testsuite runs for a mix of kernel and RTP configurations, with both gcc-8 and gcc-9 based toolchains.
VxWorks uses r18 to hold a pointer to the current task TCB, which conflicts with the current selection of r18 as the static chain register in the common back-end part. I have proposed https://gcc.gnu.org/ml/gcc-patches/2019-11/msg00523.html as a possible way to circumvent such conflicts and currently just #define TARGET_OS_USES_R18 1 in the main VxWorks configuration file. I'll fallback to an entirely VxWorks specific way around if necessary. The patches apply unchanged on mainline and I have verified that we can still build a VxWorks configuration there with this patch included, in addition to the testing mentioned above. Olivier 2019-11-14 Doug Rupp <r...@adacore.com> Olivier Hainque <hain...@adacore.com> Jerome Lambourg <lambo...@adacore.com> gcc/ * config.gcc: Handle aarch64*-wrs-vxworks7*. * config/aarch64/aarch64-vxworks.h: New file. * config/aarch64/t-aarch64-vxworks: New file. libgcc/ * config.host: Handle aarch64*-wrs-vxworks7*.
0005-Base-support-for-vxworks-7-on-aarch64.patch
Description: Binary data