vxworks7 headers haven't required fixes, and we've long avoided running fixinc on them.
The problem with that is that, with a dummy fixinc, mkheaders wipes out include-fixed but then multi_dir subdirs are not created again, so we end up with a limits.h named after each multi_dir, when there are non-default multilibs. Oops. This patch arranges for a dummy fixinc to be created for *-*-vxworks7* targets, and fixes mkheaders so as to create multi_dir subdirs in include-fixed after wiping them out, and to copy limits.h so that it won't take the name that should be of a subdir (unless the multi_dir is limits.h, but that's hopefully never the case ;-) This was tested on x86_64-linux-gnu (no changes to include-fixed there, as expected), and with various of AdaCore's vx6 and vx7 targets, including ones with and without multilibs. Ok to install? for fixincludes/ChangeLog * mkheaders.in: Re-create subdirs, copy limits.h into subdir. * mkfixinc.sh: Create dummy fixinc for *-*-vxworks7*. --- fixincludes/mkfixinc.sh | 1 + fixincludes/mkheaders.in | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/fixincludes/mkfixinc.sh b/fixincludes/mkfixinc.sh index 0f96486..df90720 100755 --- a/fixincludes/mkfixinc.sh +++ b/fixincludes/mkfixinc.sh @@ -19,6 +19,7 @@ case $machine in powerpc-*-rtems* | \ powerpcle-*-eabisim* | \ powerpcle-*-eabi* | \ + *-*-vxworks7* | \ *-musl* ) # IF there is no include fixing, # THEN create a no-op fixer and exit diff --git a/fixincludes/mkheaders.in b/fixincludes/mkheaders.in index 9109b05..a293a57 100644 --- a/fixincludes/mkheaders.in +++ b/fixincludes/mkheaders.in @@ -86,6 +86,7 @@ for ml in `cat ${itoolsdatadir}/fixinc_list`; do sysroot_headers_suffix=`echo ${ml} | sed -e 's/;.*$//'` multi_dir=`echo ${ml} | sed -e 's/^[^;]*;//'` subincdir=${incdir}${multi_dir} + ${mkinstalldirs} ${subincdir} . ${itoolsdatadir}/mkheaders.conf if [ x${STMP_FIXINC} != x ] ; then TARGET_MACHINE="${target}" target_canonical="${target}" \ @@ -100,5 +101,5 @@ for ml in `cat ${itoolsdatadir}/fixinc_list`; do fi fi - cp ${itoolsdatadir}/include${multi_dir}/limits.h ${subincdir} + cp ${itoolsdatadir}/include${multi_dir}/limits.h ${subincdir}/limits.h done -- Alexandre Oliva, freedom fighter he/him https://FSFLA.org/blogs/lxo Free Software Evangelist Stallman was right, but he's left :( GNU Toolchain Engineer FSMatrix: It was he who freed the first of us FSF & FSFLA board member The Savior shall return (true);