more flattening of config files...
This commit is contained in:
parent
d432a4aa74
commit
403c8b9192
27
lang/egcs/stable/patches/patch-gcc_config_alpha_openbsd1_h
Normal file
27
lang/egcs/stable/patches/patch-gcc_config_alpha_openbsd1_h
Normal file
@ -0,0 +1,27 @@
|
||||
$OpenBSD: patch-gcc_config_alpha_openbsd1_h,v 1.1 2002/06/03 18:33:33 espie Exp $
|
||||
--- gcc/config/alpha/openbsd1.h.orig Mon Jun 3 17:18:18 2002
|
||||
+++ gcc/config/alpha/openbsd1.h Mon Jun 3 17:17:57 2002
|
||||
@@ -0,0 +1,23 @@
|
||||
+/* Configuration fragment for an alpha OpenBSD target.
|
||||
+ Copyright (C) 1999 Free Software Foundation, Inc.
|
||||
+
|
||||
+This file is part of GNU CC.
|
||||
+
|
||||
+GNU CC is free software; you can redistribute it and/or modify
|
||||
+it under the terms of the GNU General Public License as published by
|
||||
+the Free Software Foundation; either version 2, or (at your option)
|
||||
+any later version.
|
||||
+
|
||||
+GNU CC is distributed in the hope that it will be useful,
|
||||
+but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+GNU General Public License for more details.
|
||||
+
|
||||
+You should have received a copy of the GNU General Public License
|
||||
+along with GNU CC; see the file COPYING. If not, write to
|
||||
+the Free Software Foundation, 59 Temple Place - Suite 330,
|
||||
+Boston, MA 02111-1307, USA. */
|
||||
+
|
||||
+#define OBSD_HAS_DECLARE_FUNCTION_NAME
|
||||
+#define OBSD_HAS_DECLARE_FUNCTION_SIZE
|
||||
+#define OBSD_HAS_DECLARE_OBJECT
|
@ -1,24 +1,24 @@
|
||||
$OpenBSD: patch-gcc_config_alpha_openbsd_h,v 1.2 2002/05/29 13:22:11 espie Exp $
|
||||
$OpenBSD: patch-gcc_config_alpha_openbsd_h,v 1.3 2002/06/03 18:33:33 espie Exp $
|
||||
--- gcc/config/alpha/openbsd.h.orig Fri Nov 3 00:29:08 2000
|
||||
+++ gcc/config/alpha/openbsd.h Wed May 29 15:04:18 2002
|
||||
@@ -22,15 +22,12 @@ Boston, MA 02111-1307, USA. */
|
||||
+++ gcc/config/alpha/openbsd.h Mon Jun 3 17:18:12 2002
|
||||
@@ -21,28 +21,28 @@ Boston, MA 02111-1307, USA. */
|
||||
/* We settle for little endian for now. */
|
||||
#define TARGET_ENDIAN_DEFAULT 0
|
||||
|
||||
#include <alpha/alpha.h>
|
||||
+#include <alpha/elf.h>
|
||||
|
||||
-#include <alpha/alpha.h>
|
||||
-
|
||||
-#define OBSD_NO_DYNAMIC_LIBRARIES
|
||||
#define OBSD_HAS_DECLARE_FUNCTION_NAME
|
||||
#define OBSD_HAS_DECLARE_FUNCTION_SIZE
|
||||
#define OBSD_HAS_DECLARE_OBJECT
|
||||
|
||||
-#define OBSD_HAS_DECLARE_FUNCTION_NAME
|
||||
-#define OBSD_HAS_DECLARE_FUNCTION_SIZE
|
||||
-#define OBSD_HAS_DECLARE_OBJECT
|
||||
-
|
||||
-/* alpha ecoff supports only weak aliases, see below. */
|
||||
-#define ASM_WEAKEN_LABEL(FILE,NAME) ASM_OUTPUT_WEAK_ALIAS (FILE,NAME,0)
|
||||
-
|
||||
#include <openbsd.h>
|
||||
|
||||
-#include <openbsd.h>
|
||||
-
|
||||
/* Controlling the compilation driver. */
|
||||
@@ -38,11 +35,23 @@ Boston, MA 02111-1307, USA. */
|
||||
|
||||
/* alpha needs __start. */
|
||||
#undef LINK_SPEC
|
||||
#define LINK_SPEC \
|
||||
@ -45,7 +45,7 @@ $OpenBSD: patch-gcc_config_alpha_openbsd_h,v 1.2 2002/05/29 13:22:11 espie Exp $
|
||||
|
||||
/* Layout of source language data types. */
|
||||
|
||||
@@ -63,64 +72,19 @@ Boston, MA 02111-1307, USA. */
|
||||
@@ -63,64 +63,19 @@ Boston, MA 02111-1307, USA. */
|
||||
#undef PREFERRED_DEBUGGING_TYPE
|
||||
#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
|
||||
|
||||
|
@ -1,7 +1,11 @@
|
||||
$OpenBSD: patch-gcc_config_gcc,v 1.10 2002/05/30 21:15:28 espie Exp $
|
||||
$OpenBSD: patch-gcc_config_gcc,v 1.11 2002/06/03 18:33:33 espie Exp $
|
||||
--- gcc/config.gcc.orig Thu May 2 23:28:49 2002
|
||||
+++ gcc/config.gcc Thu May 30 23:12:01 2002
|
||||
@@ -579,6 +579,7 @@ alpha*-*-openbsd*)
|
||||
+++ gcc/config.gcc Mon Jun 3 17:17:34 2002
|
||||
@@ -576,9 +576,11 @@ alpha*-*-netbsd*)
|
||||
;;
|
||||
|
||||
alpha*-*-openbsd*)
|
||||
+ tm_file="alpha/alpha.h alpha/elf.h alpha/openbsd1.h openbsd.h ${tm_file}"
|
||||
# default x-alpha is only appropriate for dec-osf.
|
||||
target_cpu_default="MASK_GAS"
|
||||
tmake_file="alpha/t-alpha alpha/t-ieee"
|
||||
@ -9,7 +13,7 @@ $OpenBSD: patch-gcc_config_gcc,v 1.10 2002/05/30 21:15:28 espie Exp $
|
||||
;;
|
||||
|
||||
alpha*-dec-osf*)
|
||||
@@ -2762,6 +2763,7 @@ romp-*-openbsd*)
|
||||
@@ -2762,6 +2764,7 @@ romp-*-openbsd*)
|
||||
# Nothing special
|
||||
;;
|
||||
powerpc-*-openbsd*)
|
||||
@ -17,13 +21,13 @@ $OpenBSD: patch-gcc_config_gcc,v 1.10 2002/05/30 21:15:28 espie Exp $
|
||||
tmake_file="${tmake_file} rs6000/t-rs6000 rs6000/t-openbsd"
|
||||
extra_headers=
|
||||
;;
|
||||
@@ -3086,6 +3088,13 @@ sparc-*-openbsd*)
|
||||
@@ -3086,6 +3089,13 @@ sparc-*-openbsd*)
|
||||
tmake_file="t-libc-ok t-openbsd sparc/t-openbsd"
|
||||
# we need collect2 until our bug is fixed...
|
||||
use_collect2=yes
|
||||
+ ;;
|
||||
+sparc64-*-openbsd*)
|
||||
+ tm_file="sparc/openbsd1-64.h sparc/sparc.h elfos.h svr4.h sparc/sysv4.h sparc/sol2.h sparc/sp64-elf.h openbsd.h sparc/openbsd64.h"
|
||||
+ tm_file="sparc/openbsd1-64.h sparc/sparc.h elfos.h svr4.h sparc/sysv4.h sparc/sp64-elf.h openbsd.h sparc/openbsd64.h"
|
||||
+ xm_file=sparc/xm-sp64.h
|
||||
+ gas=yes gnu_ld=yes
|
||||
+ with_cpu=ultrasparc
|
||||
|
@ -1,7 +1,7 @@
|
||||
$OpenBSD: patch-gcc_config_sparc_openbsd64_h,v 1.7 2002/06/03 10:13:34 art Exp $
|
||||
--- gcc/config/sparc/openbsd64.h.orig Sat Jun 1 23:45:17 2002
|
||||
+++ gcc/config/sparc/openbsd64.h Sun Jun 2 06:25:40 2002
|
||||
@@ -0,0 +1,77 @@
|
||||
$OpenBSD: patch-gcc_config_sparc_openbsd64_h,v 1.8 2002/06/03 18:33:33 espie Exp $
|
||||
--- gcc/config/sparc/openbsd64.h.orig Thu May 30 12:57:52 2002
|
||||
+++ gcc/config/sparc/openbsd64.h Mon Jun 3 13:49:36 2002
|
||||
@@ -0,0 +1,226 @@
|
||||
+/* Configuration file for sparc64 OpenBSD target.
|
||||
+ Copyright (C) 1999 Free Software Foundation, Inc.
|
||||
+
|
||||
@ -41,8 +41,6 @@ $OpenBSD: patch-gcc_config_sparc_openbsd64_h,v 1.7 2002/06/03 10:13:34 art Exp $
|
||||
+#undef CPP_SUBTARGET_SPEC
|
||||
+#define CPP_SUBTARGET_SPEC ""
|
||||
+
|
||||
+#undef CPLUSPLUS_CPP_SPEC
|
||||
+
|
||||
+#undef MD_EXEC_PREFIX
|
||||
+#undef MD_STARTFILE_PREFIX
|
||||
+
|
||||
@ -63,6 +61,14 @@ $OpenBSD: patch-gcc_config_sparc_openbsd64_h,v 1.7 2002/06/03 10:13:34 art Exp $
|
||||
+#undef LONG_DOUBLE_TYPE_SIZE
|
||||
+#define LONG_DOUBLE_TYPE_SIZE 128
|
||||
+
|
||||
+#undef WINT_TYPE
|
||||
+#define WINT_TYPE "long int"
|
||||
+
|
||||
+#undef WINT_TYPE_SIZE
|
||||
+#define WINT_TYPE_SIZE 32
|
||||
+
|
||||
+#define HANDLE_PRAGMA_REDEFINE_EXTNAME 1
|
||||
+
|
||||
+#undef LINK_SPEC
|
||||
+#define LINK_SPEC \
|
||||
+ "%{!shared:%{!nostdlib:%{!r*:%{!e*:-e __start}}}} \
|
||||
@ -79,3 +85,146 @@ $OpenBSD: patch-gcc_config_sparc_openbsd64_h,v 1.7 2002/06/03 10:13:34 art Exp $
|
||||
+ crtbegin%O%s} %{shared:crtbeginS%O%s}"
|
||||
+#undef ENDFILE_SPEC
|
||||
+#define ENDFILE_SPEC "%{!shared:crtend%O%s} %{shared:crtendS%O%s}"
|
||||
+
|
||||
+#undef ASM_CPU_DEFAULT_SPEC
|
||||
+#define ASM_CPU_DEFAULT_SPEC "-xarch=v8plusa"
|
||||
+
|
||||
+#undef ASM_CPU_SPEC
|
||||
+#define ASM_CPU_SPEC "\
|
||||
+%{mcpu=v8plus:-xarch=v8plus} \
|
||||
+%{mcpu=ultrasparc:-xarch=v8plusa} \
|
||||
+%{!mcpu*:%(asm_cpu_default)} \
|
||||
+"
|
||||
+
|
||||
+/* Same as sparc.h */
|
||||
+#undef DBX_REGISTER_NUMBER
|
||||
+#define DBX_REGISTER_NUMBER(REGNO) \
|
||||
+ (TARGET_FLAT && (REGNO) == HARD_FRAME_POINTER_REGNUM ? 31 : REGNO)
|
||||
+
|
||||
+/* We use stabs-in-elf by default, because that is what the native
|
||||
+ toolchain uses. */
|
||||
+#undef PREFERRED_DEBUGGING_TYPE
|
||||
+#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
|
||||
+
|
||||
+/* The Solaris 2 assembler uses .skip, not .zero, so put this back. */
|
||||
+#undef ASM_OUTPUT_SKIP
|
||||
+#define ASM_OUTPUT_SKIP(FILE,SIZE) \
|
||||
+ fprintf (FILE, "\t.skip %u\n", (SIZE))
|
||||
+
|
||||
+#undef LOCAL_LABEL_PREFIX
|
||||
+#define LOCAL_LABEL_PREFIX "."
|
||||
+
|
||||
+/* This is how to output a definition of an internal numbered label where
|
||||
+ PREFIX is the class of label and NUM is the number within the class. */
|
||||
+
|
||||
+#undef ASM_OUTPUT_INTERNAL_LABEL
|
||||
+#define ASM_OUTPUT_INTERNAL_LABEL(FILE,PREFIX,NUM) \
|
||||
+ fprintf (FILE, ".L%s%d:\n", PREFIX, NUM)
|
||||
+
|
||||
+/* This is how to output a reference to an internal numbered label where
|
||||
+ PREFIX is the class of label and NUM is the number within the class. */
|
||||
+
|
||||
+#undef ASM_OUTPUT_INTERNAL_LABELREF
|
||||
+#define ASM_OUTPUT_INTERNAL_LABELREF(FILE,PREFIX,NUM) \
|
||||
+ fprintf (FILE, ".L%s%d", PREFIX, NUM)
|
||||
+
|
||||
+/* This is how to store into the string LABEL
|
||||
+ the symbol_ref name of an internal numbered label where
|
||||
+ PREFIX is the class of label and NUM is the number within the class.
|
||||
+ This is suitable for output with `assemble_name'. */
|
||||
+
|
||||
+#undef ASM_GENERATE_INTERNAL_LABEL
|
||||
+#define ASM_GENERATE_INTERNAL_LABEL(LABEL,PREFIX,NUM) \
|
||||
+ sprintf ((LABEL), "*.L%s%ld", (PREFIX), (long)(NUM))
|
||||
+
|
||||
+/* Select a format to encode pointers in exception handling data. CODE
|
||||
+ is 0 for data, 1 for code labels, 2 for function pointers. GLOBAL is
|
||||
+ true if the symbol may be affected by dynamic relocations.
|
||||
+
|
||||
+ Some Solaris dynamic linkers don't handle unaligned section relative
|
||||
+ relocs properly, so force them to be aligned. */
|
||||
+#ifndef HAVE_AS_SPARC_UA_PCREL
|
||||
+#define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL) \
|
||||
+ ((flag_pic || GLOBAL) ? DW_EH_PE_aligned : DW_EH_PE_absptr)
|
||||
+#endif
|
||||
+
|
||||
+/* ??? This does not work in SunOS 4.x, so it is not enabled in sparc.h.
|
||||
+ Instead, it is enabled here, because it does work under Solaris. */
|
||||
+/* Define for support of TFmode long double and REAL_ARITHMETIC.
|
||||
+ Sparc ABI says that long double is 4 words. */
|
||||
+#define LONG_DOUBLE_TYPE_SIZE 128
|
||||
+
|
||||
+/* But indicate that it isn't supported by the hardware. */
|
||||
+#define WIDEST_HARDWARE_FP_SIZE 64
|
||||
+
|
||||
+#define STDC_0_IN_SYSTEM_HEADERS 1
|
||||
+
|
||||
+#define MULDI3_LIBCALL "__mul64"
|
||||
+#define DIVDI3_LIBCALL "__div64"
|
||||
+#define UDIVDI3_LIBCALL "__udiv64"
|
||||
+#define MODDI3_LIBCALL "__rem64"
|
||||
+#define UMODDI3_LIBCALL "__urem64"
|
||||
+
|
||||
+#undef INIT_SUBTARGET_OPTABS
|
||||
+#define INIT_SUBTARGET_OPTABS \
|
||||
+ fixsfdi_libfunc \
|
||||
+ = init_one_libfunc (TARGET_ARCH64 ? "__ftol" : "__ftoll"); \
|
||||
+ fixunssfdi_libfunc \
|
||||
+ = init_one_libfunc (TARGET_ARCH64 ? "__ftoul" : "__ftoull"); \
|
||||
+ fixdfdi_libfunc \
|
||||
+ = init_one_libfunc (TARGET_ARCH64 ? "__dtol" : "__dtoll"); \
|
||||
+ fixunsdfdi_libfunc \
|
||||
+ = init_one_libfunc (TARGET_ARCH64 ? "__dtoul" : "__dtoull")
|
||||
+
|
||||
+
|
||||
+/*
|
||||
+ * Attempt to turn on access permissions for the stack.
|
||||
+ *
|
||||
+ * This code must be defined when compiling gcc but not when compiling
|
||||
+ * libgcc2.a, unless we're generating code for 64 bits SPARC
|
||||
+ *
|
||||
+ * _SC_STACK_PROT is only defined for post 2.6, but we want this code
|
||||
+ * to run always. 2.6 can change the stack protection but has no way to
|
||||
+ * query it.
|
||||
+ *
|
||||
+ */
|
||||
+
|
||||
+/* This declares mprotect (used in TRANSFER_FROM_TRAMPOLINE) for
|
||||
+ libgcc2.c. */
|
||||
+/* We don't want to include this because sys/mman.h is not present on
|
||||
+ some non-Solaris configurations that use sol2.h. */
|
||||
+#if 0 /* def L_trampoline */
|
||||
+#include <sys/mman.h>
|
||||
+#endif
|
||||
+
|
||||
+#define TRANSFER_FROM_TRAMPOLINE \
|
||||
+static int need_enable_exec_stack; \
|
||||
+ \
|
||||
+static void check_enabling(void) __attribute__ ((constructor)); \
|
||||
+static void check_enabling(void) \
|
||||
+{ \
|
||||
+ extern long sysconf(int); \
|
||||
+ \
|
||||
+ int prot = (int) sysconf(515 /*_SC_STACK_PROT */); \
|
||||
+ if (prot != 7) \
|
||||
+ need_enable_exec_stack = 1; \
|
||||
+} \
|
||||
+ \
|
||||
+extern void __enable_execute_stack (void *); \
|
||||
+void \
|
||||
+__enable_execute_stack (addr) \
|
||||
+ void *addr; \
|
||||
+{ \
|
||||
+ if (!need_enable_exec_stack) \
|
||||
+ return; \
|
||||
+ else { \
|
||||
+ long size = getpagesize (); \
|
||||
+ long mask = ~(size-1); \
|
||||
+ char *page = (char *) (((long) addr) & mask); \
|
||||
+ char *end = (char *) ((((long) (addr + TRAMPOLINE_SIZE)) & mask) + size); \
|
||||
+ \
|
||||
+ /* 7 is PROT_READ | PROT_WRITE | PROT_EXEC */ \
|
||||
+ if (mprotect (page, end - page, 7) < 0) \
|
||||
+ perror ("mprotect of trampoline code"); \
|
||||
+ } \
|
||||
+}
|
||||
|
Loading…
Reference in New Issue
Block a user