Re: rs6000/sysv4.h using gnu-user.h

2018-11-26 Thread Segher Boessenkool
On Mon, Nov 12, 2018 at 10:05:03PM +1030, Alan Modra wrote:
> This patch removes some duplication in rs6000/sysv4.h of macros found
> in gnu-user.h that we want for linux.  Including gnu-user.h will mean
> powerpc doesn't miss updates to that file.
> 
> Requires https://gcc.gnu.org/ml/gcc-patches/2018-11/msg00917.html and
> https://gcc.gnu.org/ml/gcc-patches/2018-11/msg00919.html
> 
> Bootstrapped etc. powerpc-linux and powerpc64le-linux.

I think this is fine.  Nice cleanup :-)  Okay for trunk.

I'm not sure if it does the right thing for RTEMS, but we'll hear if it
breaks no doubt ;-)


Segher


>   * config.gcc (powerpc*-*-freebsd*, powerpc-*-netbsd*),
>   (powerpc-*-eabisimaltivec*, powerpc-*-eabisim*, powerpc-*-elf*),
>   (powerpc-*-eabialtivec*, powerpc-*-eabi*, powerpc-*-rtems*),
>   (powerpc-wrs-vxworks*, powerpc-*-lynxos*, powerpcle-*-elf*),
>   (powerpcle-*-eabisim*, powerpcle-*-eabi*): Add gnu-user.h to tm_file.
>   * config/rs6000/freebsd.h (CPLUSPLUS_CPP_SPEC),
>   (LINK_GCC_C_SEQUENCE_SPEC): Undef.
>   (ASM_APP_ON, ASM_APP_OFF): Don't define.
>   * config/rs6000/freebsd64.h (ASM_APP_ON, ASM_APP_OFF): Don't define.
>   * config/rs6000/lynx.h (ASM_APP_ON, ASM_APP_OFF): Don't define.
>   * config/rs6000/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
>   * config/rs6000/netbsd.h (CPLUSPLUS_CPP_SPEC),
>   (LINK_GCC_C_SEQUENCE_SPEC): Undef.
>   * config/rs6000/rtems.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
>   * config/rs6000/sysv4.h (GNU_USER_TARGET_CRTI): Redefine.
>   (GNU_USER_TARGET_CRTN): Redefine.
>   (CC1_SPEC): Use GNU_USER_TARGET_CC1_SPEC.
>   (LIB_LINUX_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
>   (CRTOFFLOADBEGIN, CRTOFFLOADEND): Don't define.
>   (STARTFILE_LINUX_SPEC): Define as GNU_USER_TARGET_STARTFILE_SPEC.
>   (ENDFILE_LINUX_SPEC): Define as GNU_USER_TARGET_ENDFILE_SPEC.
>   (UCLIBC_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER): Don't define.
>   (LINK_EH_SPEC): Don't define.


rs6000/sysv4.h using gnu-user.h

2018-11-12 Thread Alan Modra
This patch removes some duplication in rs6000/sysv4.h of macros found
in gnu-user.h that we want for linux.  Including gnu-user.h will mean
powerpc doesn't miss updates to that file.

Requires https://gcc.gnu.org/ml/gcc-patches/2018-11/msg00917.html and
https://gcc.gnu.org/ml/gcc-patches/2018-11/msg00919.html

Bootstrapped etc. powerpc-linux and powerpc64le-linux.

* config.gcc (powerpc*-*-freebsd*, powerpc-*-netbsd*),
(powerpc-*-eabisimaltivec*, powerpc-*-eabisim*, powerpc-*-elf*),
(powerpc-*-eabialtivec*, powerpc-*-eabi*, powerpc-*-rtems*),
(powerpc-wrs-vxworks*, powerpc-*-lynxos*, powerpcle-*-elf*),
(powerpcle-*-eabisim*, powerpcle-*-eabi*): Add gnu-user.h to tm_file.
* config/rs6000/freebsd.h (CPLUSPLUS_CPP_SPEC),
(LINK_GCC_C_SEQUENCE_SPEC): Undef.
(ASM_APP_ON, ASM_APP_OFF): Don't define.
* config/rs6000/freebsd64.h (ASM_APP_ON, ASM_APP_OFF): Don't define.
* config/rs6000/lynx.h (ASM_APP_ON, ASM_APP_OFF): Don't define.
* config/rs6000/linux64.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
* config/rs6000/netbsd.h (CPLUSPLUS_CPP_SPEC),
(LINK_GCC_C_SEQUENCE_SPEC): Undef.
* config/rs6000/rtems.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
* config/rs6000/sysv4.h (GNU_USER_TARGET_CRTI): Redefine.
(GNU_USER_TARGET_CRTN): Redefine.
(CC1_SPEC): Use GNU_USER_TARGET_CC1_SPEC.
(LIB_LINUX_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
(CRTOFFLOADBEGIN, CRTOFFLOADEND): Don't define.
(STARTFILE_LINUX_SPEC): Define as GNU_USER_TARGET_STARTFILE_SPEC.
(ENDFILE_LINUX_SPEC): Define as GNU_USER_TARGET_ENDFILE_SPEC.
(UCLIBC_DYNAMIC_LINKER, CHOOSE_DYNAMIC_LINKER): Don't define.
(LINK_EH_SPEC): Don't define.

diff --git a/gcc/config.gcc b/gcc/config.gcc
index 75ff2f5658e..6aea55207ca 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -2567,7 +2567,7 @@ powerpc64-*-darwin*)
extra_headers=altivec.h
;;
 powerpc*-*-freebsd*)
-   tm_file="${tm_file} dbxelf.h elfos.h ${fbsd_tm_file} rs6000/sysv4.h"
+   tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h ${fbsd_tm_file} 
rs6000/sysv4.h"
extra_options="${extra_options} rs6000/sysv4.opt"
tmake_file="rs6000/t-fprules rs6000/t-ppcos ${tmake_file} 
rs6000/t-ppccomm"
case ${target} in
@@ -2582,7 +2582,7 @@ powerpc*-*-freebsd*)
esac
;;
 powerpc-*-netbsd*)
-   tm_file="${tm_file} dbxelf.h elfos.h ${nbsd_tm_file} freebsd-spec.h 
rs6000/sysv4.h rs6000/netbsd.h"
+   tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h ${nbsd_tm_file} 
freebsd-spec.h rs6000/sysv4.h rs6000/netbsd.h"
extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
tmake_file="${tmake_file} rs6000/t-netbsd"
extra_options="${extra_options} rs6000/sysv4.opt"
@@ -2594,30 +2594,30 @@ powerpc-*-eabispe*)
use_gcc_stdint=wrap
;;
 powerpc-*-eabisimaltivec*)
-   tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h 
rs6000/sysv4.h rs6000/eabi.h rs6000/eabisim.h rs6000/eabialtivec.h"
+   tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h 
newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabisim.h 
rs6000/eabialtivec.h"
extra_options="${extra_options} rs6000/sysv4.opt"
tmake_file="rs6000/t-fprules rs6000/t-ppcendian rs6000/t-ppccomm"
use_gcc_stdint=wrap
;;
 powerpc-*-eabisim*)
-   tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h 
newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabisim.h"
+   tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h usegas.h freebsd-spec.h 
newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabisim.h"
extra_options="${extra_options} rs6000/sysv4.opt"
tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
use_gcc_stdint=wrap
;;
 powerpc-*-elf*)
-   tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h 
newlib-stdint.h rs6000/sysv4.h"
+   tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h usegas.h freebsd-spec.h 
newlib-stdint.h rs6000/sysv4.h"
extra_options="${extra_options} rs6000/sysv4.opt"
tmake_file="rs6000/t-fprules rs6000/t-ppcgas rs6000/t-ppccomm"
;;
 powerpc-*-eabialtivec*)
-   tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h 
rs6000/sysv4.h rs6000/eabi.h rs6000/eabialtivec.h"
+   tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h 
newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/eabialtivec.h"
extra_options="${extra_options} rs6000/sysv4.opt"
tmake_file="rs6000/t-fprules rs6000/t-ppcendian rs6000/t-ppccomm"
use_gcc_stdint=wrap
;;
 powerpc-*-eabi*)
-   tm_file="${tm_file} dbxelf.h elfos.h usegas.h freebsd-spec.h 
newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h"
+   tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h usegas.h freebsd-spec.h 
newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h"