Make gcc 4.2 work, for some value of work, on alpha.

No version bump because the changes only affect alpha and it did not
build on this platform, previously.

From: miod@
This commit is contained in:
naddy 2009-07-01 12:43:55 +00:00
parent 41314cb9f4
commit 6dd742f931
2 changed files with 89 additions and 6 deletions

View File

@ -0,0 +1,77 @@
$OpenBSD: patch-gcc_config_alpha_openbsd_h,v 1.1 2009/07/01 12:43:55 naddy Exp $
--- gcc/config/alpha/openbsd.h.orig Sat Sep 1 15:28:30 2007
+++ gcc/config/alpha/openbsd.h Wed Jul 1 04:33:56 2009
@@ -17,23 +17,13 @@ You should have received a copy of the GNU General Pub
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
-/* We settle for little endian for now. */
-#define TARGET_ENDIAN_DEFAULT 0
-
/* Controlling the compilation driver. */
-/* alpha needs __start. */
-#undef LINK_SPEC
-#define LINK_SPEC \
- "%{!nostdlib:%{!r*:%{!e*:-e __start}}} -dc -dp %{assert*}"
-
/* run-time target specifications */
#define TARGET_OS_CPP_BUILTINS() \
do { \
- builtin_define ("__OpenBSD__"); \
- builtin_define ("__ANSI_COMPAT"); \
- builtin_define ("__unix__"); \
- builtin_assert ("system=unix"); \
+ OPENBSD_OS_CPP_BUILTINS_ELF(); \
+ OPENBSD_OS_CPP_BUILTINS_LP64(); \
} while (0)
/* Layout of source language data types. */
@@ -52,47 +42,4 @@ along with GCC; see the file COPYING3. If not see
#define WCHAR_TYPE_SIZE 32
-#undef PREFERRED_DEBUGGING_TYPE
-#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
-
#define LOCAL_LABEL_PREFIX "."
-
-/* We don't have an init section yet. */
-#undef HAS_INIT_SECTION
-
-/* collect2 support (assembler format: macros for initialization). */
-
-/* Don't tell collect2 we use COFF as we don't have (yet ?) a dynamic ld
- library with the proper functions to handle this -> collect2 will
- default to using nm. */
-#undef OBJECT_FORMAT_COFF
-#undef EXTENDED_COFF
-
-/* Assembler format: exception region output. */
-
-/* All configurations that don't use elf must be explicit about not using
- dwarf unwind information. */
-#ifdef INCOMING_RETURN_ADDR_RTX
-#undef DWARF2_UNWIND_INFO
-#define DWARF2_UNWIND_INFO 0
-#endif
-
-/* Assembler format: label output. */
-
-/* alpha ecoff supports only weak aliases. */
-#undef ASM_WEAKEN_LABEL
-#define ASM_WEAKEN_LABEL(FILE,NAME) ASM_OUTPUT_WEAK_ALIAS (FILE,NAME,0)
-
-#define ASM_OUTPUT_WEAK_ALIAS(FILE,NAME,VALUE) \
- do { \
- fputs ("\t.weakext\t", FILE); \
- assemble_name (FILE, NAME); \
- if (VALUE) \
- { \
- fputs (" , ", FILE); \
- assemble_name (FILE, VALUE); \
- } \
- fputc ('\n', FILE); \
- } while (0)
-
-

View File

@ -1,5 +1,5 @@
--- gcc/config.gcc.orig Thu Mar 13 20:11:43 2008
+++ gcc/config.gcc Sun Apr 12 11:29:43 2009
--- gcc/config.gcc.orig Thu Mar 13 19:11:43 2008
+++ gcc/config.gcc Wed Jul 1 04:34:10 2009
@@ -555,6 +555,11 @@ case ${target} in
*-*-openbsd2.*|*-*-openbsd3.[012])
tm_defines="${tm_defines} HAS_LIBC_R=1" ;;
@ -12,15 +12,21 @@
;;
*-*-rtems*)
case ${enable_threads} in
@@ -621,7 +626,7 @@ alpha*-*-netbsd*)
@@ -620,11 +625,11 @@ alpha*-*-netbsd*)
tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee"
;;
alpha*-*-openbsd*)
tm_defines="${tm_defines} OBSD_NO_DYNAMIC_LIBRARIES OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_FUNCTION_SIZE OBSD_HAS_DECLARE_OBJECT"
- tm_defines="${tm_defines} OBSD_NO_DYNAMIC_LIBRARIES OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_FUNCTION_SIZE OBSD_HAS_DECLARE_OBJECT"
- tm_file="alpha/alpha.h openbsd.h alpha/openbsd.h"
+ tm_file="alpha/alpha.h alpha/elf.h openbsd.h openbsd-libpthread.h alpha/openbsd.h"
+ tm_defines="${tm_defines} OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_FUNCTION_SIZE OBSD_HAS_DECLARE_OBJECT"
+ tm_file="alpha/alpha.h alpha/elf.h alpha/openbsd.h openbsd.h openbsd-libpthread.h"
# default x-alpha is only appropriate for dec-osf.
target_cpu_default="MASK_GAS"
tmake_file="alpha/t-alpha alpha/t-ieee"
- tmake_file="alpha/t-alpha alpha/t-ieee"
+ tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee"
;;
alpha*-dec-osf[45]*)
if test x$stabs = xyes
@@ -1085,10 +1090,15 @@ i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123])
;;
i[34567]86-*-openbsd*)