Fix fixincludes for canadian cross builds

Message ID AM4PR0701MB2162041057D7A1F420A40C32E4190@AM4PR0701MB2162.eurprd07.prod.outlook.com
State New
Headers show

Commit Message

Bernd Edlinger April 18, 2017, 6:17 p.m.
On 04/14/17 12:29, Bernd Edlinger wrote:
> Hi RMs:

>

> I am sorry that this happened so close to the imminent gcc-7 release

> date.

>

> To my best knowledge it would be fine to apply this update patch on the

> trunk: https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00649.html

>

> But if you decide otherwise, I am also ready to revert my original

> commit: https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=245613

>

>

> Thanks

> Bernd.


Aehm, Sorry.

I just realized that the updated patch did still not yet work correctly
in all possible configurations...

I think this part of the configure.ac needs some more rework,
but that is probably not the right time for it.

Therefore I reverted r245613 for now.


I will post an updated patch at a later time.


Thanks
Bernd.


  # each of $(system_prefix)/usr/include, $(system_prefix)/usr/lib, etc.
@@ -579,7 +572,7 @@
  else
    ifeq ($(enable_multiarch),auto)
      # SYSTEM_HEADER_DIR is makefile syntax, cannot be evaluated in 
configure.ac
-    if_multiarch = $(if $(wildcard $(shell echo 
$(BUILD_SYSTEM_HEADER_DIR))/../../usr/lib/*/crti.o),$(1))
+    if_multiarch = $(if $(wildcard $(shell echo 
$(SYSTEM_HEADER_DIR))/../../usr/lib/*/crti.o),$(1))
    else
      if_multiarch =
    endif
@@ -2999,11 +2992,11 @@
  	    sysroot_headers_suffix=`echo $${ml} | sed -e 's/;.*$$//'`; \
  	    multi_dir=`echo $${ml} | sed -e 's/^[^;]*;//'`; \
  	    fix_dir=include-fixed$${multi_dir}; \
-	    if ! $(inhibit_libc) && test ! -d ${BUILD_SYSTEM_HEADER_DIR}; then \
+	    if ! $(inhibit_libc) && test ! -d ${SYSTEM_HEADER_DIR}; then \
  	      echo The directory that should contain system headers does not 
exist: >&2 ; \
-	      echo "  ${BUILD_SYSTEM_HEADER_DIR}" >&2 ; \
+	      echo "  ${SYSTEM_HEADER_DIR}" >&2 ; \
  	      tooldir_sysinc=`echo "${gcc_tooldir}/sys-include" | sed -e :a 
-e "s,[^/]*/\.\.\/,," -e ta`; \
-	      if test "x${BUILD_SYSTEM_HEADER_DIR}" = "x$${tooldir_sysinc}"; \
+	      if test "x${SYSTEM_HEADER_DIR}" = "x$${tooldir_sysinc}"; \
  	      then sleep 1; else exit 1; fi; \
  	    fi; \
  	    $(mkinstalldirs) $${fix_dir}; \
@@ -3014,7 +3007,7 @@
  	      export TARGET_MACHINE srcdir SHELL MACRO_LIST && \
  	      cd $(build_objdir)/fixincludes && \
  	      $(SHELL) ./fixinc.sh "$${gcc_dir}/$${fix_dir}" \
-	        $(BUILD_SYSTEM_HEADER_DIR) $(OTHER_FIXINCLUDES_DIRS) ); \
+	        $(SYSTEM_HEADER_DIR) $(OTHER_FIXINCLUDES_DIRS) ); \
  	    rm -f $${fix_dir}/syslimits.h; \
  	    if [ -f $${fix_dir}/limits.h ]; then \
  	      mv $${fix_dir}/limits.h $${fix_dir}/syslimits.h; \

Comments

Yvan Roux April 19, 2017, 6:30 a.m. | #1
On 18 April 2017 at 20:17, Bernd Edlinger <bernd.edlinger@hotmail.de> wrote:
> On 04/14/17 12:29, Bernd Edlinger wrote:
>> Hi RMs:
>>
>> I am sorry that this happened so close to the imminent gcc-7 release
>> date.
>>
>> To my best knowledge it would be fine to apply this update patch on the
>> trunk: https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00649.html
>>
>> But if you decide otherwise, I am also ready to revert my original
>> commit: https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=245613
>>
>>
>> Thanks
>> Bernd.
>
> Aehm, Sorry.
>
> I just realized that the updated patch did still not yet work correctly
> in all possible configurations...
>
> I think this part of the configure.ac needs some more rework,
> but that is probably not the right time for it.
>
> Therefore I reverted r245613 for now.
>
>
> I will post an updated patch at a later time.

Thanks Bernd, let me know if you want me to try your patch in with our
configurations.

>
> Thanks
> Bernd.
>
>
> Index: gcc/ChangeLog
> ===================================================================
> --- gcc/ChangeLog       (Revision 246978)
> +++ gcc/ChangeLog       (Revision 246979)
> @@ -1,3 +1,11 @@
> +2017-04-18  Bernd Edlinger  <bernd.edlinger@hotmail.de>
> +
> +       Revert:
> +       2017-02-20  Bernd Edlinger  <bernd.edlinger@hotmail.de>
> +       * Makefile.in (BUILD_SYSTEM_HEADER_DIR): New make variabe.
> +       (LIMITS_H_TEST, if_multiarch, stmp-fixinc): Use BUILD_SYSTEM_HEADER_DIR
> +       instead of SYSTEM_HEADER_DIR.
> +
>   2017-04-18  Jeff Law  <law@redhat.com>
>
>         PR middle-end/80422
> Index: gcc/Makefile.in
> ===================================================================
> --- gcc/Makefile.in     (Revision 246978)
> +++ gcc/Makefile.in     (Revision 246979)
> @@ -517,18 +517,11 @@
>   # macro is also used in a double-quoted context.
>   SYSTEM_HEADER_DIR = `echo @SYSTEM_HEADER_DIR@ | sed -e :a -e
> 's,[^/]*/\.\.\/,,' -e ta`
>
> -# Path to the system headers on the build machine
> -ifeq ($(build),$(host))
> -BUILD_SYSTEM_HEADER_DIR = $(SYSTEM_HEADER_DIR)
> -else
> -BUILD_SYSTEM_HEADER_DIR = `echo $(CROSS_SYSTEM_HEADER_DIR) | sed -e :a
> -e 's,[^/]*/\.\.\/,,' -e ta`
> -endif
> -
>   # Control whether to run fixincludes.
>   STMP_FIXINC = @STMP_FIXINC@
>
>   # Test to see whether <limits.h> exists in the system header files.
> -LIMITS_H_TEST = [ -f $(BUILD_SYSTEM_HEADER_DIR)/limits.h ]
> +LIMITS_H_TEST = [ -f $(SYSTEM_HEADER_DIR)/limits.h ]
>
>   # Directory for prefix to system directories, for
>   # each of $(system_prefix)/usr/include, $(system_prefix)/usr/lib, etc.
> @@ -579,7 +572,7 @@
>   else
>     ifeq ($(enable_multiarch),auto)
>       # SYSTEM_HEADER_DIR is makefile syntax, cannot be evaluated in
> configure.ac
> -    if_multiarch = $(if $(wildcard $(shell echo
> $(BUILD_SYSTEM_HEADER_DIR))/../../usr/lib/*/crti.o),$(1))
> +    if_multiarch = $(if $(wildcard $(shell echo
> $(SYSTEM_HEADER_DIR))/../../usr/lib/*/crti.o),$(1))
>     else
>       if_multiarch =
>     endif
> @@ -2999,11 +2992,11 @@
>             sysroot_headers_suffix=`echo $${ml} | sed -e 's/;.*$$//'`; \
>             multi_dir=`echo $${ml} | sed -e 's/^[^;]*;//'`; \
>             fix_dir=include-fixed$${multi_dir}; \
> -           if ! $(inhibit_libc) && test ! -d ${BUILD_SYSTEM_HEADER_DIR}; then \
> +           if ! $(inhibit_libc) && test ! -d ${SYSTEM_HEADER_DIR}; then \
>               echo The directory that should contain system headers does not
> exist: >&2 ; \
> -             echo "  ${BUILD_SYSTEM_HEADER_DIR}" >&2 ; \
> +             echo "  ${SYSTEM_HEADER_DIR}" >&2 ; \
>               tooldir_sysinc=`echo "${gcc_tooldir}/sys-include" | sed -e :a
> -e "s,[^/]*/\.\.\/,," -e ta`; \
> -             if test "x${BUILD_SYSTEM_HEADER_DIR}" = "x$${tooldir_sysinc}"; \
> +             if test "x${SYSTEM_HEADER_DIR}" = "x$${tooldir_sysinc}"; \
>               then sleep 1; else exit 1; fi; \
>             fi; \
>             $(mkinstalldirs) $${fix_dir}; \
> @@ -3014,7 +3007,7 @@
>               export TARGET_MACHINE srcdir SHELL MACRO_LIST && \
>               cd $(build_objdir)/fixincludes && \
>               $(SHELL) ./fixinc.sh "$${gcc_dir}/$${fix_dir}" \
> -               $(BUILD_SYSTEM_HEADER_DIR) $(OTHER_FIXINCLUDES_DIRS) ); \
> +               $(SYSTEM_HEADER_DIR) $(OTHER_FIXINCLUDES_DIRS) ); \
>             rm -f $${fix_dir}/syslimits.h; \
>             if [ -f $${fix_dir}/limits.h ]; then \
>               mv $${fix_dir}/limits.h $${fix_dir}/syslimits.h; \

Patch

Index: gcc/ChangeLog
===================================================================
--- gcc/ChangeLog	(Revision 246978)
+++ gcc/ChangeLog	(Revision 246979)
@@ -1,3 +1,11 @@ 
+2017-04-18  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+	Revert:
+	2017-02-20  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+	* Makefile.in (BUILD_SYSTEM_HEADER_DIR): New make variabe.
+	(LIMITS_H_TEST, if_multiarch, stmp-fixinc): Use BUILD_SYSTEM_HEADER_DIR
+	instead of SYSTEM_HEADER_DIR.
+
  2017-04-18  Jeff Law  <law@redhat.com>

  	PR middle-end/80422
Index: gcc/Makefile.in
===================================================================
--- gcc/Makefile.in	(Revision 246978)
+++ gcc/Makefile.in	(Revision 246979)
@@ -517,18 +517,11 @@ 
  # macro is also used in a double-quoted context.
  SYSTEM_HEADER_DIR = `echo @SYSTEM_HEADER_DIR@ | sed -e :a -e 
's,[^/]*/\.\.\/,,' -e ta`

-# Path to the system headers on the build machine
-ifeq ($(build),$(host))
-BUILD_SYSTEM_HEADER_DIR = $(SYSTEM_HEADER_DIR)
-else
-BUILD_SYSTEM_HEADER_DIR = `echo $(CROSS_SYSTEM_HEADER_DIR) | sed -e :a 
-e 's,[^/]*/\.\.\/,,' -e ta`
-endif
-
  # Control whether to run fixincludes.
  STMP_FIXINC = @STMP_FIXINC@

  # Test to see whether <limits.h> exists in the system header files.
-LIMITS_H_TEST = [ -f $(BUILD_SYSTEM_HEADER_DIR)/limits.h ]
+LIMITS_H_TEST = [ -f $(SYSTEM_HEADER_DIR)/limits.h ]

  # Directory for prefix to system directories, for