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);

Reply via email to