[haiku-commits] buildtools: btrev43140 - gcc/gcc/config/sparc

  • From: waddlesplash <waddlesplash@xxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sat, 23 Feb 2019 11:37:17 -0500 (EST)

btrev43140 adds 1 changeset to branch 'master'
old head: fd2fd983c5b1aa7d079e92e46a67c16f231fac5b
new head: db2fd1989feff759014e24d9efc59e8af104f4eb
overview: 
https://git.haiku-os.org/buildtools/log/?qt=range&q=db2fd1989fef+%5Efd2fd983c5b1

----------------------------------------------------------------------------

db2fd1989fef: Fix gcc config for Haiku on sparc
  
  - Remove accidentally copied NetBSD stuff, so we actually use our
    linkspec
  - Put the files in the correct order in config.gcc
  
  This gets us past stage0 bootstrapping (building gcc_bootstrap package).
  
  Change-Id: I245a5ae111a6ca5e02b55e7a49e47cadcbc21731
  Reviewed-on: https://review.haiku-os.org/c/1081
  Reviewed-by: waddlesplash <waddlesplash@xxxxxxxxx>

                                   [ PulkoMandy <pulkomandy@xxxxxxxxxxxxx> ]

----------------------------------------------------------------------------

Revision:    btrev43140
Commit:      db2fd1989feff759014e24d9efc59e8af104f4eb
URL:         https://git.haiku-os.org/buildtools/commit/?id=db2fd1989fef
Author:      PulkoMandy <pulkomandy@xxxxxxxxxxxxx>
Date:        Fri Feb 22 20:31:07 2019 UTC
Committer:   waddlesplash <waddlesplash@xxxxxxxxx>
Commit-Date: Sat Feb 23 16:37:14 2019 UTC

----------------------------------------------------------------------------

2 files changed, 3 insertions(+), 132 deletions(-)
gcc/gcc/config.gcc           |   2 +-
gcc/gcc/config/sparc/haiku.h | 133 +--------------------------------------

----------------------------------------------------------------------------

diff --git a/gcc/gcc/config.gcc b/gcc/gcc/config.gcc
index 24df8eebd..6397cf449 100644
--- a/gcc/gcc/config.gcc
+++ b/gcc/gcc/config.gcc
@@ -2944,7 +2944,7 @@ sparc64-*-rtems*)
        tmake_file="${tmake_file} sparc/t-sparc sparc/t-rtems-64"
        ;;
 sparc64-*-haiku*)
-       tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp64-elf.h 
sparc/haiku.h haiku.h"
+       tm_file="${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp64-elf.h 
haiku.h sparc/haiku.h"
        extra_options="${extra_options}"
        tmake_file="${tmake_file} t-haiku sparc/t-sparc sparc/t-haiku"
        ;;
diff --git a/gcc/gcc/config/sparc/haiku.h b/gcc/gcc/config/sparc/haiku.h
index 2bd3e47f3..8c81d7eb2 100644
--- a/gcc/gcc/config/sparc/haiku.h
+++ b/gcc/gcc/config/sparc/haiku.h
@@ -39,17 +39,9 @@ along with GCC; see the file COPYING3.  If not see
    link things in one of these three modes by applying the appropriate
    combinations of options at link-time.  */
 
-#if TARGET_64BIT_DEFAULT
-#define SPEC_32 "m32"
-#define SPEC_64 "!m32"
-#else
-#define SPEC_32 "!m64"
-#define SPEC_64 "m64"
-#endif
-
 #undef LINK_SPEC
-#define LINK_SPEC "%{" SPEC_64 ":-m elf_sparc64_haiku} %{" SPEC_32 ":-m 
elf_sparc_haiku} \
-       %{!r:-shared} %{nostart:-e 0} %{shared:-e 0} %{!shared: %{!nostart: 
-no-undefined}}"
+#define LINK_SPEC "-m elf64_sparc %{!r:-shared} %{nostart:-e 0} \
+       %{shared:-e 0} %{!shared: %{!nostart: -no-undefined}}"
 /* SIZE_TYPE and PTRDIFF_TYPE are wrong from sparc/sparc.h.  */
 #undef SIZE_TYPE
 #define SIZE_TYPE "long unsigned int"
@@ -81,29 +73,8 @@ along with GCC; see the file COPYING3.  If not see
 #define ASM_SPEC "%{" FPIE_OR_FPIC_SPEC ":-K PIC} \
 %(asm_cpu) %(asm_arch) %(asm_relax)"
 
-#undef STDC_0_IN_SYSTEM_HEADERS
-
 #define HAVE_ENABLE_EXECUTE_STACK
 
-/* Below here exists the merged NetBSD/sparc & NetBSD/sparc64 compiler
-   description, allowing one to build 32-bit or 64-bit applications
-   on either.  We define the sparc & sparc64 versions of things,
-   occasionally a neutral version (should be the same as "netbsd-elf.h")
-   and then based on SPARC_BI_ARCH, DEFAULT_ARCH32_P, and TARGET_CPU_DEFAULT,
-   we choose the correct version.  */
-
-/* We use the default NetBSD ELF STARTFILE_SPEC and ENDFILE_SPEC
-   definitions, even for the SPARC_BI_ARCH compiler, because NetBSD does
-   not have a default place to find these libraries..  */
-
-/* TARGET_CPU_DEFAULT is set in Makefile.in.  We test for 64-bit default
-   platform here.  */
-
-#if TARGET_CPU_DEFAULT == TARGET_CPU_v9 \
- || TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc
-/* A 64 bit v9 compiler with stack-bias,
-   in a Medium/Low code model environment.  */
-
 #undef TARGET_DEFAULT
 #define TARGET_DEFAULT \
   (MASK_V9 + MASK_PTR64 + MASK_64BIT /* + MASK_HARD_QUAD */ \
@@ -112,111 +83,11 @@ along with GCC; see the file COPYING3.  If not see
 #undef SPARC_DEFAULT_CMODEL
 #define SPARC_DEFAULT_CMODEL CM_MEDANY
 
-#endif
-
-/* CC1_SPEC for NetBSD/sparc.  */
-#define CC1_SPEC32 \
- "%{m32:%{m64:%emay not use both -m32 and -m64}} \
-  %{m64: \
-    -mptr64 -mstack-bias -mno-v8plus -mlong-double-128 \
-    %{!mcpu*:%{!mv8plus:-mcpu=ultrasparc}} \
-    %{!mno-vis:%{!mcpu=v9:-mvis}} \
-    %{p:-mcmodel=medlow} \
-    %{pg:-mcmodel=medlow}}"
-
-#define CC1_SPEC64 \
- "%{m32:%{m64:%emay not use both -m32 and -m64}} \
-  %{m32: \
-    -mptr32 -mno-stack-bias \
-    %{!mlong-double-128:-mlong-double-64} \
-    %{!mcpu*:%{!mv8plus:-mcpu=cypress}}} \
-  %{!m32: \
-    %{p:-mcmodel=medlow} \
-    %{pg:-mcmodel=medlow}}"
-
-/* Make sure we use the right output format.  Pick a default and then
-   make sure -m32/-m64 switch to the right one.  */
-
-#define LINK_ARCH32_SPEC "-m elf32_sparc"
-
-#define LINK_ARCH64_SPEC "-m elf64_sparc"
-
-#define LINK_ARCH_SPEC \
- "%{m32:%(link_arch32)} \
-  %{m64:%(link_arch64)} \
-  %{!m32:%{!m64:%(link_arch_default)}}"
-
-#undef LINK_SPEC
-#define LINK_SPEC \
- "%(link_arch) \
-  %{!mno-relax:%{!r:-relax}} \
-  %(netbsd_link_spec)"
-
-#define NETBSD_ENTRY_POINT "__start"
-
-#if DEFAULT_ARCH32_P
-#define LINK_ARCH_DEFAULT_SPEC LINK_ARCH32_SPEC
-#else
-#define LINK_ARCH_DEFAULT_SPEC LINK_ARCH64_SPEC
-#endif
-
-/* What extra spec entries do we need?  */
-#undef SUBTARGET_EXTRA_SPECS
-#define SUBTARGET_EXTRA_SPECS \
-  { "link_arch32",             LINK_ARCH32_SPEC }, \
-  { "link_arch64",             LINK_ARCH64_SPEC }, \
-  { "link_arch_default",       LINK_ARCH_DEFAULT_SPEC }, \
-  { "link_arch",               LINK_ARCH_SPEC },
-
-
 /* Build a compiler that supports -m32 and -m64?  */
 
-#ifdef SPARC_BI_ARCH
-
-#undef LONG_DOUBLE_TYPE_SIZE
-#define LONG_DOUBLE_TYPE_SIZE (TARGET_LONG_DOUBLE_128 ? 128 : 64)
-
-#undef  CC1_SPEC
-#if DEFAULT_ARCH32_P
-#define CC1_SPEC CC1_SPEC32
-#else
-#define CC1_SPEC CC1_SPEC64
-#endif
-
-#if DEFAULT_ARCH32_P
-#define MULTILIB_DEFAULTS { "m32" }
-#else
-#define MULTILIB_DEFAULTS { "m64" }
-#endif
-
-#else  /* SPARC_BI_ARCH */
-
-#if TARGET_CPU_DEFAULT == TARGET_CPU_v9 \
- || TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc
-
 #undef LONG_DOUBLE_TYPE_SIZE
 #define LONG_DOUBLE_TYPE_SIZE 128
 
-#undef  CC1_SPEC
-#define CC1_SPEC CC1_SPEC64
-
-#else  /* TARGET_CPU_DEFAULT == TARGET_CPU_v9 \
-       || TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc */
-
-/* A 32-bit only compiler.  NetBSD don't support 128 bit `long double'
-   for 32-bit code, unlike Solaris.  */
-
-#undef LONG_DOUBLE_TYPE_SIZE
-#define LONG_DOUBLE_TYPE_SIZE 64
-
-#undef  CC1_SPEC
-#define CC1_SPEC CC1_SPEC32
-
-#endif /* TARGET_CPU_DEFAULT == TARGET_CPU_v9 \
-       || TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc */
-
-#endif /* SPARC_BI_ARCH */
-
 /* We use GNU ld so undefine this so that attribute((init_priority)) works.  */
 #undef CTORS_SECTION_ASM_OP
 #undef DTORS_SECTION_ASM_OP


Other related posts:

  • » [haiku-commits] buildtools: btrev43140 - gcc/gcc/config/sparc - waddlesplash