[fixincludes] skip fixinc on vxworks7*, amend mkheaders
diff mbox series

Message ID orblq3kt1c.fsf@livre.home
State New
Headers show
Series
  • [fixincludes] skip fixinc on vxworks7*, amend mkheaders
Related show

Commit Message

Alexandre Oliva Feb. 13, 2020, 4:30 a.m. UTC
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(-)

Comments

Jeff Law Feb. 13, 2020, 4:35 p.m. UTC | #1
On Thu, 2020-02-13 at 01:30 -0300, Alexandre Oliva wrote:
> 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*.
OK
jeff
>

Patch
diff mbox series

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