[fixincludes] skip fixinc on vxworks7*, amend mkheaders

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.
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(-)



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

Comments

Jeff Law Feb. 13, 2020, 4:35 p.m. | #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 --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