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.

Attachment: cleanup-x86vx653.diff
Description: Binary data

Reply via email to