Age | Commit message (Collapse) | Author | Files | Lines |
|
For -mrtp on VxWorks 6.9, at least inttypes.h ends up #including
system headers checking that _BITS_BYTES is 8, which the system yvals.h
defines. We do pre-include _yvals.h ahead of inttypes.h for this kind of
purpose, but it currently assumes that only VxWorks >= 7 provides yvals.h.
This results in unexpected configure checks failures, complaining about
_BITS_BYTES not being 8, spotted while inspecting libstdc++ config.log for
unrelated reasons.
This change relaxes the guard in _yvals.h to include yvals.h for
__RTP__ in addition to version >= 7.
2021-12-13 Olivier Hainque <hainque@adacore.com>
* config/vxworks/_yvals.h: #include yvals.h also if
defined(__RTP__).
|
|
This change arranges to provide the vxworks alternate stdint.h
at build time instead of at install time, so it is used instead
of the system one while building the libraries.
This is a lot more consistent and helps the build on configurations
where the system does not come with stdint.h at all.
The change uses a similar mechanism as the one previsouly introduced
for glimits.h and takes the opportunity to simplify the glimits.h
command to use an automatic variable.
This introduces an indirect dependency on the VxWorks version.h
for vxcrtstuff objects, for which we then need to apply the same
tricks as for libgcc2 regarding include paths (to select the system
header instead of the gcc one).
2021-02-12 Olivier Hainque <hainque@adacore.com>
Rasmus Villemoes <rv@rasmusvillemoes.dk>
gcc/
* Makefile.in (T_STDINT_GCC_H): New variable, path to
stdint-gcc.h that a target configuration may override when
use_gcc_stdint is "provide".
(stmp-int-hdrs): Depend on it and copy that for
USE_GCC_INT=provide.
* config.gcc (vxworks): Revert to use_gcc_stdint=provide.
* config/t-vxworks (T_STDINT_GCC_H): Define, as vxw-stdint-gcc.h.
(vxw-stdint-gcc.h): New target, produced from the original
stdint-gcc.h.
(vxw-glimits.h): Use an automatic variable to designate the
first and only prerequisite.
* config/vxworks/stdint.h: Remove.
libgcc/
* config/t-vxworks: Set CRTSTUFF_T_CFLAGS to
$(LIBGCC2_INCLUDES).
* config/t-vxworks7: Likewise.
|
|
This conditions the use of system headers to fetch a
_WRS_VXWORKS_MAJOR macro on the non definition of that
macro. This allows builds where a specific value is
predefined, e.g. with a self spec, useful in environments
where the system headers don't actually define that macro
(e.g. vxworks 5 or 653).
In addition, _WRS_VXWORKS_MINOR is only provided by the
system headers when really meaningful, e.g. from 6.4 to 6.9.
We just pick a conservative default to 0 for all the cases
where it is not exposed by the system headers or otherwise.
2020-10-15 Olivier Hainque <hainque@adacore.com>
gcc/
* config/vxworks/_vxworks-versions.h: Only include
version.h if _WRS_VXWORKS_MAJOR is not defined.
Provide a default _WRS_VXWORKS_MINOR (0).
|
|
On Vxworks 7, includers of stdint.h (which we currently "provide")
need yvals.h to have been included ahead.
Instead of altering the common stdint-gcc.h with unpleasant
vxworks specific bits to do that, we arrange to provide stdint-gcc.h
on its own along with a stdint.h wrapper which preincludes yvals.h
on vx7 then includes stdint-gcc.h.
2019-12-30 Olivier Hainque <hainque@adacore.com>
* config/vxworks/stdint.h: New file. Include _yvals.h
then stdint-gcc.h.
* config/t-vxworks: Arrange to install the stdint.h wrapper.
* config.gcc (*-*-vxworks*): Add stdint-gcc.h to $extra_headers
so it gets copied. Set use_gcc_stdint to request _not_ crafting
stdint.h through the common Makefile rules.
From-SVN: r279791
|
|
* config/vxworks/_yvals.h: New file.
* config/vxworks/_yvals-wrapper.h: New file.
* config/vxworks/math.h: Use it to wrap the VxWorks
math.h header.
* config/vxworks/complex.h: Likewise.
* config/vxworks/setjmp.h: Likewise.
* config/vxworks/inttypes.h: Likewise.
From-SVN: r279787
|
|
* config/vxworks/_vxworks-versions.h: New File.
From-SVN: r279786
|
|
From-SVN: r279785
|