Hello, VxWorks ports typically come in two flavors: regular VxWorks and VxWorksAE (653). In most cases, <cpu>/vxworks.h is used as a common configuration file for the two flavors and <cpu>/vxworksae.h overrides/adds on top of that. There are also config/vx*.h shared by everybody.
The x86 port departs from this scheme, with a i386/vx-common.h file. The attached patch is a proposal to bring the x86 port organization in line with what is done for other CPUs. It essentially - moves the contents of i386/vx-common.h within i386/vxworks.h, - removes i386/vx-common.h - adjusts config.gcc accordingly The patch takes the opportunity to - cleanup i386/vxworksae.h, removing redundant or obsolete definitions and putting the one we use wrt stack-checking support for this platform. We (AdaCore) have been using this succesfully for a while on gcc-4.7 and recently on gcc-4.9, for both VxWorks6 and VxWorksAE targets. The patch attached here applies on mainline and passes make all-gcc for --target=i686-wrs-vxworksae --enable-languages=c OK to commit ? Thanks in advance for your feedback, With Kind Regards, Olivier 2014-09-18 Olivier Hainque <hain...@adacore.com> * config/i386/vxworksae.h: Remove obsolete definitions. (STACK_CHECK_PROTECT): Define. * config/i386/vx-common.h: Remove. Merge contents within config/i386/vxworks.h. * config.gcc (i?86-vxworks*): Use i386/vxworks.h instead of i386/vx-common.h.
cleanup-x86vx653.diff
Description: Binary data