[PATCH] Further newppc-branch cleanups
Franz Sirl
Franz.Sirl-kernel@lauterbach.com
Thu Jan 6 04:19:00 GMT 2000
Hi,
I just noticed that I didn't CC this one to the list. With Geoff's OK I
committed it to the newppc-branch.
Franz.
2000-01-05 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* rs6000.h: Continue cleanup.
* aix.h: Likewise.
* lynx.h: Likewise.
* netware.h: Likewise.
* sol2.h: Likewise.
* sysv4.h: Likewise.
* win-nt.h: Likewise.
* rs6000.h (TARGET_SWITCHES): Add descriptions.
(TARGET_OPTIONS): Likewise.
* sysv4.h (SUBTARGET_SWITCHES): Add descriptions.
(SUBTARGET_OPTIONS): Likewise.
* rs6000.md: Fix compile time warnings.
Index: aix.h
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/rs6000/Attic/aix.h,v
retrieving revision 1.1.2.1
diff -u -p -r1.1.2.1 aix.h
--- aix.h 2000/01/05 02:13:30 1.1.2.1
+++ aix.h 2000/01/05 16:26:58
@@ -23,9 +23,43 @@ Boston, MA 02111-1307, USA. */
#define DEFAULT_ABI ABI_AIX
#define TARGET_OBJECT_FORMAT OBJECT_XCOFF
+/* The RS/6000 uses the XCOFF format. */
+
+#define XCOFF_DEBUGGING_INFO
+
+/* Define if the object format being used is COFF or a superset. */
+#define OBJECT_FORMAT_COFF
+
+/* Define the magic numbers that we recognize as COFF.
+
+ AIX 4.3 adds U803XTOCMAGIC (0757) for 64-bit objects, but collect2.c
+ does not include files in the correct order to conditionally define
+ the symbolic name in this macro.
+
+ The AIX linker accepts import/export files as object files,
+ so accept "#!" (0x2321) magic number. */
+#define MY_ISCOFF(magic) \
+ ((magic) == U802WRMAGIC || (magic) == U802ROMAGIC \
+ || (magic) == U802TOCMAGIC || (magic) == 0757 || (magic) == 0x2321)
+
+/* This is the only version of nm that collect2 can work with. */
+#define REAL_NM_FILE_NAME "/usr/ucb/nm"
+
+/* We don't have GAS for the RS/6000 yet, so don't write out special
+ .stabs in cc1plus. */
+
+#define FASCIST_ASSEMBLER
+
+/* AIX does not have any init/fini or ctor/dtor sections, so create
+ static constructors and destructors as normal functions. */
+/* #define ASM_OUTPUT_CONSTRUCTOR(file, name) */
+/* #define ASM_OUTPUT_DESTRUCTOR(file, name) */
+
/* The prefix to add to user-visible assembler symbols. */
#define USER_LABEL_PREFIX "."
+/* Don't turn -B into -L if the argument specifies a relative file name. */
+#define RELATIVE_PREFIX_NOT_LINKDIR
#define ASM_OUTPUT_EXTERNAL(FILE, DECL, NAME) \
{ rtx _symref = XEXP (DECL_RTL (DECL), 0); \
Index: lynx.h
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/rs6000/lynx.h,v
retrieving revision 1.2
diff -u -p -r1.2 lynx.h
--- lynx.h 1998/12/16 21:12:00 1.2
+++ lynx.h 2000/01/05 16:26:59
@@ -1,5 +1,5 @@
/* Definitions for Rs6000 running LynxOS.
- Copyright (C) 1995, 1996 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 2000 Free Software Foundation, Inc.
Contributed by David Henkel-Wallace, Cygnus Support (gumby@cygnus.com)
This file is part of GNU CC.
@@ -96,7 +96,6 @@ do { \
#undef OBJECT_FORMAT_ROSE
#undef MD_EXEC_PREFIX
#undef REAL_LD_FILE_NAME
-#undef REAL_NM_FILE_NAME
#undef REAL_STRIP_FILE_NAME
/* LynxOS doesn't have mcount. */
Index: netware.h
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/rs6000/netware.h,v
retrieving revision 1.4
diff -u -p -r1.4 netware.h
--- netware.h 1999/01/11 13:34:10 1.4
+++ netware.h 2000/01/05 16:26:59
@@ -1,6 +1,6 @@
/* Core target definitions for GNU compiler
for IBM RS/6000 PowerPC running NetWare
- Copyright (C) 1994, 1995, 1996, 1998 Free Software Foundation, Inc.
+ Copyright (C) 1994, 1995, 1996, 1998, 2000 Free Software Foundation, Inc.
Contributed by Cygnus Support.
This file is part of GNU CC.
@@ -33,14 +33,6 @@ Boston, MA 02111-1307, USA. */
#undef PROCESSOR_DEFAULT
#define PROCESSOR_DEFAULT PROCESSOR_PPC601
-
-/* Don't generate XCOFF debugging information. */
-
-#undef XCOFF_DEBUGGING_INFO
-
-/* Don't use the COFF object file format. */
-
-#undef OBJECT_FORMAT_COFF
/* The XCOFF support uses weird symbol suffixes, which we don't want
for ELF. */
Index: rs6000.h
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/rs6000/rs6000.h,v
retrieving revision 1.64.2.1
diff -u -p -r1.64.2.1 rs6000.h
--- rs6000.h 2000/01/05 02:13:30 1.64.2.1
+++ rs6000.h 2000/01/05 16:27:11
@@ -200,9 +200,6 @@ Boston, MA 02111-1307, USA. */
/* gcc must do the search itself to find libgcc.a, not use -l. */
#define LIBGCC_SPEC "libgcc.a%s"
-/* Don't turn -B into -L if the argument specifies a relative file name. */
-#define RELATIVE_PREFIX_NOT_LINKDIR
-
/* Architecture type. */
extern int target_flags;
@@ -307,50 +304,89 @@ extern int target_flags;
An empty string NAME is used to identify the default VALUE. */
#define TARGET_SWITCHES \
- {{"power", MASK_POWER | MASK_MULTIPLE | MASK_STRING}, \
+ {{"power", MASK_POWER | MASK_MULTIPLE | MASK_STRING, \
+ "Use POWER instruction set"}, \
{"power2", (MASK_POWER | MASK_MULTIPLE | MASK_STRING \
- | MASK_POWER2)}, \
- {"no-power2", - MASK_POWER2}, \
+ | MASK_POWER2), \
+ "Use POWER2 instruction set"}, \
+ {"no-power2", - MASK_POWER2, \
+ "Do not use POWER2 instruction set"}, \
{"no-power", - (MASK_POWER | MASK_POWER2 | MASK_MULTIPLE \
- | MASK_STRING)}, \
- {"powerpc", MASK_POWERPC}, \
+ | MASK_STRING), \
+ "Do not use POWER instruction set"}, \
+ {"powerpc", MASK_POWERPC, \
+ "Use PowerPC instruction set"}, \
{"no-powerpc", - (MASK_POWERPC | MASK_PPC_GPOPT \
- | MASK_PPC_GFXOPT | MASK_POWERPC64)}, \
- {"powerpc-gpopt", MASK_POWERPC | MASK_PPC_GPOPT}, \
- {"no-powerpc-gpopt", - MASK_PPC_GPOPT}, \
- {"powerpc-gfxopt", MASK_POWERPC | MASK_PPC_GFXOPT}, \
- {"no-powerpc-gfxopt", - MASK_PPC_GFXOPT}, \
- {"powerpc64", MASK_POWERPC64}, \
- {"no-powerpc64", - MASK_POWERPC64}, \
- {"new-mnemonics", MASK_NEW_MNEMONICS}, \
- {"old-mnemonics", -MASK_NEW_MNEMONICS}, \
+ | MASK_PPC_GFXOPT | MASK_POWERPC64), \
+ "Do not use PowerPC instruction set"}, \
+ {"powerpc-gpopt", MASK_POWERPC | MASK_PPC_GPOPT, \
+ "Use PowerPC General Purpose group optional instructions"},\
+ {"no-powerpc-gpopt", - MASK_PPC_GPOPT, \
+ "Don't use PowerPC General Purpose group optional instructions"},\
+ {"powerpc-gfxopt", MASK_POWERPC | MASK_PPC_GFXOPT, \
+ "Use PowerPC Graphics group optional instructions"},\
+ {"no-powerpc-gfxopt", - MASK_PPC_GFXOPT, \
+ "Don't use PowerPC Graphics group optional instructions"},\
+ {"powerpc64", MASK_POWERPC64, \
+ "Use PowerPC-64 instruction set"}, \
+ {"no-powerpc64", - MASK_POWERPC64, \
+ "Don't use PowerPC-64 instruction set"}, \
+ {"new-mnemonics", MASK_NEW_MNEMONICS, \
+ "Use new mnemonics for PowerPC architecture"}, \
+ {"old-mnemonics", -MASK_NEW_MNEMONICS, \
+ "Use old mnemonics for PowerPC architecture"}, \
{"full-toc", - (MASK_NO_FP_IN_TOC | MASK_NO_SUM_IN_TOC \
- | MASK_MINIMAL_TOC)}, \
- {"fp-in-toc", - MASK_NO_FP_IN_TOC}, \
- {"no-fp-in-toc", MASK_NO_FP_IN_TOC}, \
- {"sum-in-toc", - MASK_NO_SUM_IN_TOC}, \
- {"no-sum-in-toc", MASK_NO_SUM_IN_TOC}, \
- {"minimal-toc", MASK_MINIMAL_TOC}, \
- {"minimal-toc", - (MASK_NO_FP_IN_TOC | MASK_NO_SUM_IN_TOC)}, \
- {"no-minimal-toc", - MASK_MINIMAL_TOC}, \
- {"hard-float", - MASK_SOFT_FLOAT}, \
- {"soft-float", MASK_SOFT_FLOAT}, \
- {"multiple", MASK_MULTIPLE | MASK_MULTIPLE_SET}, \
- {"no-multiple", - MASK_MULTIPLE}, \
- {"no-multiple", MASK_MULTIPLE_SET}, \
- {"string", MASK_STRING | MASK_STRING_SET}, \
- {"no-string", - MASK_STRING}, \
- {"no-string", MASK_STRING_SET}, \
- {"update", - MASK_NO_UPDATE}, \
- {"no-update", MASK_NO_UPDATE}, \
- {"fused-madd", - MASK_NO_FUSED_MADD}, \
- {"no-fused-madd", MASK_NO_FUSED_MADD}, \
- {"sched-prolog", MASK_SCHED_PROLOG}, \
- {"no-sched-prolog", -MASK_SCHED_PROLOG}, \
- {"sched-epilog", MASK_SCHED_EPILOG}, \
- {"no-sched-epilog", -MASK_SCHED_EPILOG}, \
+ | MASK_MINIMAL_TOC), \
+ "no description yet"}, \
+ {"fp-in-toc", - MASK_NO_FP_IN_TOC, \
+ "Place floating point constants in TOC"}, \
+ {"no-fp-in-toc", MASK_NO_FP_IN_TOC, \
+ "Don't place floating point constants in TOC"}, \
+ {"sum-in-toc", - MASK_NO_SUM_IN_TOC, \
+ "Place symbol+offset constants in TOC"}, \
+ {"no-sum-in-toc", MASK_NO_SUM_IN_TOC, \
+ "Don't place symbol+offset constants in TOC"}, \
+ {"minimal-toc", MASK_MINIMAL_TOC, \
+ "no description yet"}, \
+ {"minimal-toc", - (MASK_NO_FP_IN_TOC | MASK_NO_SUM_IN_TOC), \
+ "no description yet"}, \
+ {"no-minimal-toc", - MASK_MINIMAL_TOC, \
+ "no description yet"}, \
+ {"hard-float", - MASK_SOFT_FLOAT, \
+ "Use hardware fp"}, \
+ {"soft-float", MASK_SOFT_FLOAT, \
+ "Do not use hardware fp"}, \
+ {"multiple", MASK_MULTIPLE | MASK_MULTIPLE_SET, \
+ "Generate load/store multiple instructions"}, \
+ {"no-multiple", - MASK_MULTIPLE, \
+ "Do not generate load/store multiple instructions"},\
+ {"no-multiple", MASK_MULTIPLE_SET, \
+ "Do not generate load/store multiple instructions"},\
+ {"string", MASK_STRING | MASK_STRING_SET, \
+ "Generate string instructions for block moves"},\
+ {"no-string", - MASK_STRING, \
+ "Do not generate string instructions for block moves"},\
+ {"no-string", MASK_STRING_SET, \
+ "Do not generate string instructions for block moves"},\
+ {"update", - MASK_NO_UPDATE, \
+ "Generate load/store with update instructions"},\
+ {"no-update", MASK_NO_UPDATE, \
+ "Do not generate load/store with update instructions"},\
+ {"fused-madd", - MASK_NO_FUSED_MADD, \
+ "Generate fused multiply/add instructions"}, \
+ {"no-fused-madd", MASK_NO_FUSED_MADD, \
+ "Don't generate fused multiply/add instructions"},\
+ {"sched-prolog", MASK_SCHED_PROLOG, \
+ "no description yet"}, \
+ {"no-sched-prolog", -MASK_SCHED_PROLOG, \
+ "no description yet"}, \
+ {"sched-epilog", MASK_SCHED_EPILOG, \
+ "no description yet"}, \
+ {"no-sched-epilog", -MASK_SCHED_EPILOG, \
+ "no description yet"}, \
SUBTARGET_SWITCHES \
- {"", TARGET_DEFAULT}}
+ {"", TARGET_DEFAULT, \
+ ""}}
#define TARGET_DEFAULT (MASK_POWER | MASK_MULTIPLE | MASK_STRING)
@@ -413,13 +449,13 @@ extern enum processor_type rs6000_cpu;
/* This is meant to be overridden in target specific files. */
#define SUBTARGET_OPTIONS
-#define TARGET_OPTIONS \
-{ \
- {"cpu=", &rs6000_select[1].string}, \
- {"tune=", &rs6000_select[2].string}, \
- {"debug-", &rs6000_debug_name}, \
- {"debug=", &rs6000_debug_name}, \
- SUBTARGET_OPTIONS \
+#define TARGET_OPTIONS \
+{ \
+ {"cpu=", &rs6000_select[1].string, "Use features of and schedule code for given CPU" },\
+ {"tune=", &rs6000_select[2].string, "Schedule code for given CPU" }, \
+ {"debug-", &rs6000_debug_name, "Enable debug output" }, \
+ {"debug=", &rs6000_debug_name, "Enable debug output" }, \
+ SUBTARGET_OPTIONS \
}
/* rs6000_select[0] is reserved for the default cpu defined via --with-cpu */
@@ -2159,38 +2195,6 @@ do {
/* Define if loading short immediate values into registers sign extends. */
#define SHORT_IMMEDIATES_SIGN_EXTEND
-/* The RS/6000 uses the XCOFF format. */
-
-#define XCOFF_DEBUGGING_INFO
-
-/* Define if the object format being used is COFF or a superset. */
-#define OBJECT_FORMAT_COFF
-
-/* Define the magic numbers that we recognize as COFF.
-
- AIX 4.3 adds U803XTOCMAGIC (0757) for 64-bit objects, but collect2.c
- does not include files in the correct order to conditionally define
- the symbolic name in this macro.
-
- The AIX linker accepts import/export files as object files,
- so accept "#!" (0x2321) magic number. */
-#define MY_ISCOFF(magic) \
- ((magic) == U802WRMAGIC || (magic) == U802ROMAGIC \
- || (magic) == U802TOCMAGIC || (magic) == 0757 || (magic) == 0x2321)
-
-/* This is the only version of nm that collect2 can work with. */
-#define REAL_NM_FILE_NAME "/usr/ucb/nm"
-
-/* We don't have GAS for the RS/6000 yet, so don't write out special
- .stabs in cc1plus. */
-
-#define FASCIST_ASSEMBLER
-
-/* AIX does not have any init/fini or ctor/dtor sections, so create
- static constructors and destructors as normal functions. */
-/* #define ASM_OUTPUT_CONSTRUCTOR(file, name) */
-/* #define ASM_OUTPUT_DESTRUCTOR(file, name) */
-
/* Value is 1 if truncating an integer of INPREC bits to OUTPREC bits
is done just by pretending it is already truncated. */
#define TRULY_NOOP_TRUNCATION(OUTPREC, INPREC) 1
Index: rs6000.md
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/rs6000/rs6000.md,v
retrieving revision 1.79.2.2
diff -u -p -r1.79.2.2 rs6000.md
--- rs6000.md 2000/01/04 22:44:54 1.79.2.2
+++ rs6000.md 2000/01/05 16:27:18
@@ -4196,7 +4196,7 @@
(use (match_operand:SI 2 "gpc_reg_operand" "r"))
(use (match_operand:DF 3 "gpc_reg_operand" "f"))
(clobber (match_operand:SI 4 "gpc_reg_operand" "=r"))
- (clobber (match_operand 5 "gpc_reg_operand" "=b"))
+ (clobber (match_operand:SI 5 "gpc_reg_operand" "=b"))
(clobber (reg:DF 76))]
"! TARGET_POWERPC64 && TARGET_HARD_FLOAT"
"#"
@@ -4255,7 +4255,7 @@
(unsigned_float:DF (match_operand:SI 1 "gpc_reg_operand" "r")))
(use (match_operand:SI 2 "gpc_reg_operand" "r"))
(use (match_operand:DF 3 "gpc_reg_operand" "f"))
- (clobber (match_operand 4 "gpc_reg_operand" "=b"))
+ (clobber (match_operand:SI 4 "gpc_reg_operand" "=b"))
(clobber (reg:DF 76))]
"! TARGET_POWERPC64 && TARGET_HARD_FLOAT"
"#"
@@ -4288,7 +4288,7 @@
;; Load up scratch register with base address + offset if needed
(define_insn "*floatsidf2_loadaddr"
- [(set (match_operand 0 "gpc_reg_operand" "=b")
+ [(set (match_operand:SI 0 "gpc_reg_operand" "=b")
(unspec [(const_int 0)] 11))]
"TARGET_HARD_FLOAT"
"*
@@ -4310,7 +4310,7 @@
(define_insn "*floatsidf2_store1"
[(set (reg:DF 76)
(unspec [(match_operand:SI 0 "gpc_reg_operand" "r")
- (match_operand 1 "gpc_reg_operand" "b")] 12))]
+ (match_operand:SI 1 "gpc_reg_operand" "b")] 12))]
"TARGET_HARD_FLOAT"
"*
{
@@ -4337,7 +4337,7 @@
(define_insn "*floatsidf2_store2"
[(set (reg:DF 76)
(unspec [(match_operand:SI 0 "gpc_reg_operand" "r")
- (match_operand 1 "gpc_reg_operand" "b")
+ (match_operand:SI 1 "gpc_reg_operand" "b")
(reg:DF 76)] 13))]
"TARGET_HARD_FLOAT"
"*
@@ -4365,7 +4365,7 @@
(define_insn "*floatsidf2_load"
[(set (match_operand:DF 0 "gpc_reg_operand" "=f")
(unspec [(reg:DF 76)
- (match_operand 1 "gpc_reg_operand" "b")] 14))]
+ (match_operand:SI 1 "gpc_reg_operand" "b")] 14))]
"TARGET_HARD_FLOAT"
"*
{
@@ -4413,7 +4413,7 @@
[(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(fix:SI (match_operand:DF 1 "gpc_reg_operand" "f")))
(clobber (match_operand:DI 2 "gpc_reg_operand" "=f"))
- (clobber (match_operand 3 "gpc_reg_operand" "=b"))
+ (clobber (match_operand:SI 3 "gpc_reg_operand" "=b"))
(clobber (reg:DI 76))]
"TARGET_HARD_FLOAT"
"#"
@@ -4442,7 +4442,7 @@
(define_insn "*fix_truncdfsi2_store"
[(set (reg:DI 76)
(unspec [(match_operand:DI 0 "gpc_reg_operand" "f")
- (match_operand 1 "gpc_reg_operand" "b")] 15))]
+ (match_operand:SI 1 "gpc_reg_operand" "b")] 15))]
"(TARGET_POWER2 || TARGET_POWERPC) && TARGET_HARD_FLOAT"
"*
{
@@ -4467,7 +4467,7 @@
(define_insn "*fix_truncdfsi2_load"
[(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(unspec [(reg:DI 76)
- (match_operand 1 "gpc_reg_operand" "b")] 16))]
+ (match_operand:SI 1 "gpc_reg_operand" "b")] 16))]
"(TARGET_POWER2 || TARGET_POWERPC) && TARGET_HARD_FLOAT"
"*
{
@@ -6927,7 +6927,7 @@
(match_operand:DI 1 "const_int_operand" ""))]
"HOST_BITS_PER_WIDE_INT != 32 && TARGET_POWERPC64
&& GET_CODE (operands[1]) == CONST_INT
- && INTVAL (operands[1]) & 0xffffffff == 0"
+ && (INTVAL (operands[1]) & 0xffffffff) == 0"
[(set (match_dup 0)
(match_dup 2))
(set (match_dup 0)
@@ -11081,7 +11081,7 @@
(const_int 1)])
(match_operand 5 "" "")
(match_operand 6 "" "")))
- (set (match_operand:SI 0 "general_operand" "")
+ (set (match_operand:SI 0 "nonimmediate_operand" "")
(plus:SI (match_dup 1) (const_int -1)))
(clobber (match_scratch:CC 3 ""))
(clobber (match_scratch:SI 4 ""))]
@@ -11136,7 +11136,7 @@
(const_int 1)])
(match_operand 5 "" "")
(match_operand 6 "" "")))
- (set (match_operand:DI 0 "general_operand" "")
+ (set (match_operand:DI 0 "nonimmediate_operand" "")
(plus:DI (match_dup 1) (const_int -1)))
(clobber (match_scratch:CC 3 ""))
(clobber (match_scratch:DI 4 ""))]
Index: sol2.h
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/rs6000/sol2.h,v
retrieving revision 1.4
diff -u -p -r1.4 sol2.h
--- sol2.h 1999/08/10 13:25:23 1.4
+++ sol2.h 2000/01/05 16:27:19
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler,
for IBM RS/6000 running AIX version 3.1.
- Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+ Copyright (C) 1996, 1997, 2000 Free Software Foundation, Inc.
Contributed by David Reese (Dave.Reese@East.Sun.COM)
This file is part of GNU CC.
@@ -64,9 +64,6 @@ Boston, MA 02111-1307, USA. */
#undef CPP_ENDIAN_LITTLE_SPEC
#define CPP_ENDIAN_LITTLE_SPEC CPP_ENDIAN_SOLARIS_SPEC
-
-/* Don't turn -B into -L if the argument specifies a relative file name. */
-#undef RELATIVE_PREFIX_NOT_LINKDIR
#define DEFAULT_PCC_STRUCT_RETURN 0
Index: sysv4.h
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/rs6000/sysv4.h,v
retrieving revision 1.23.4.2
diff -u -p -r1.23.4.2 sysv4.h
--- sysv4.h 2000/01/05 03:00:41 1.23.4.2
+++ sysv4.h 2000/01/05 16:27:20
@@ -21,6 +21,17 @@ Boston, MA 02111-1307, USA. */
#include "rs6000/rs6000.h"
+/* Undefine some things which are defined by the generic svr4.h. */
+
+#undef ASM_FILE_END
+#undef READONLY_DATA_SECTION
+#undef SELECT_SECTION
+#undef ASM_DECLARE_FUNCTION_NAME
+
+/* Use the regular svr4 definitions. */
+
+#include "svr4.h"
+
/* Yes! We are ELF. */
#define TARGET_OBJECT_FORMAT OBJECT_ELF
@@ -30,9 +41,11 @@ Boston, MA 02111-1307, USA. */
/* Default ABI to use */
#define RS6000_ABI_NAME "sysv"
+/* override rs6000.h definition */
#undef ASM_DEFAULT_SPEC
#define ASM_DEFAULT_SPEC "-mppc"
+/* override rs6000.h definition */
#undef CPP_DEFAULT_SPEC
#define CPP_DEFAULT_SPEC "-D_ARCH_PPC"
@@ -79,58 +92,57 @@ extern enum rs6000_sdata_type rs6000_sda
extern const char *rs6000_abi_name;
extern const char *rs6000_sdata_name;
+/* override rs6000.h definition */
#undef SUBTARGET_OPTIONS
#define SUBTARGET_OPTIONS \
- { "call-", &rs6000_abi_name}, \
- { "sdata=", &rs6000_sdata_name}
+ { "call-", &rs6000_abi_name, "Select ABI calling convention." }, \
+ { "sdata=", &rs6000_sdata_name, "Select method for sdata handling." }
/* Max # of bytes for variables to automatically be put into the .sdata
or .sdata2 sections. */
extern int g_switch_value; /* value of the -G xx switch */
extern int g_switch_set; /* whether -G xx was passed. */
-#ifndef SDATA_DEFAULT_SIZE
#define SDATA_DEFAULT_SIZE 8
-#endif
/* Note, V.4 no longer uses a normal TOC, so make -mfull-toc, be just
the same as -mminimal-toc. */
#undef SUBTARGET_SWITCHES
#define SUBTARGET_SWITCHES \
- { "bit-align", -MASK_NO_BITFIELD_TYPE }, \
- { "no-bit-align", MASK_NO_BITFIELD_TYPE }, \
- { "strict-align", MASK_STRICT_ALIGN }, \
- { "no-strict-align", -MASK_STRICT_ALIGN }, \
- { "relocatable", MASK_RELOCATABLE | MASK_MINIMAL_TOC | MASK_NO_FP_IN_TOC }, \
- { "no-relocatable", -MASK_RELOCATABLE }, \
- { "relocatable-lib", MASK_RELOCATABLE | MASK_MINIMAL_TOC | MASK_NO_FP_IN_TOC }, \
- { "no-relocatable-lib", -MASK_RELOCATABLE }, \
- { "little-endian", MASK_LITTLE_ENDIAN }, \
- { "little", MASK_LITTLE_ENDIAN }, \
- { "big-endian", -MASK_LITTLE_ENDIAN }, \
- { "big", -MASK_LITTLE_ENDIAN }, \
- { "no-toc", 0 }, \
- { "toc", MASK_MINIMAL_TOC }, \
- { "full-toc", MASK_MINIMAL_TOC }, \
- { "prototype", MASK_PROTOTYPE }, \
- { "no-prototype", -MASK_PROTOTYPE }, \
- { "no-traceback", 0 }, \
- { "eabi", MASK_EABI }, \
- { "no-eabi", -MASK_EABI }, \
- { "regnames", MASK_REGNAMES }, \
- { "no-regnames", -MASK_REGNAMES }, \
- { "sdata", 0 }, \
- { "no-sdata", 0 }, \
- { "sim", 0 }, \
- { "ads", 0 }, \
- { "yellowknife", 0 }, \
- { "mvme", 0 }, \
- { "emb", 0 }, \
- { "vxworks", 0 }, \
- { "solaris-cclib", 0 }, \
- { "shlib", 0 }, \
- EXTRA_SUBTARGET_SWITCHES \
- { "newlib", 0 },
+ { "bit-align", -MASK_NO_BITFIELD_TYPE, "Align to the base type of the bitfield." },\
+ { "no-bit-align", MASK_NO_BITFIELD_TYPE, "Don't align to the base type of the bitfield." },\
+ { "strict-align", MASK_STRICT_ALIGN, "Don't assume that unaligned accesses are handled by the system" },\
+ { "no-strict-align", -MASK_STRICT_ALIGN, "Assume that unaligned accesses are handled by the system" },\
+ { "relocatable", MASK_RELOCATABLE | MASK_MINIMAL_TOC | MASK_NO_FP_IN_TOC, "Produce code relocatable at runtime." },\
+ { "no-relocatable", -MASK_RELOCATABLE, "Don't produce code relocatable at runtime." },\
+ { "relocatable-lib", MASK_RELOCATABLE | MASK_MINIMAL_TOC | MASK_NO_FP_IN_TOC, "Produce code relocatable at runtime." },\
+ { "no-relocatable-lib", -MASK_RELOCATABLE, "Don't produce code relocatable at runtime." },\
+ { "little-endian", MASK_LITTLE_ENDIAN, "Produce little endian code." }, \
+ { "little", MASK_LITTLE_ENDIAN, "Produce little endian code." }, \
+ { "big-endian", -MASK_LITTLE_ENDIAN, "Produce big endian code." }, \
+ { "big", -MASK_LITTLE_ENDIAN, "Produce big endian code." }, \
+ { "no-toc", 0, "no description yet" }, \
+ { "toc", MASK_MINIMAL_TOC, "no description yet" }, \
+ { "full-toc", MASK_MINIMAL_TOC, "no description yet" }, \
+ { "prototype", MASK_PROTOTYPE, "no description yet" }, \
+ { "no-prototype", -MASK_PROTOTYPE, "no description yet" }, \
+ { "no-traceback", 0, "no description yet" }, \
+ { "eabi", MASK_EABI, "Use EABI." }, \
+ { "no-eabi", -MASK_EABI, "Don't use EABI." }, \
+ { "regnames", MASK_REGNAMES, "Use alternate register names." }, \
+ { "no-regnames", -MASK_REGNAMES, "Don't use alternate register names." },\
+ { "sdata", 0, "no description yet" }, \
+ { "no-sdata", 0, "no description yet" }, \
+ { "sim", 0, "Link with libsim.a, libc.a and sim-crt0.o." }, \
+ { "ads", 0, "Link with libads.a, libc.a and crt0.o." }, \
+ { "yellowknife", 0, "Link with libyk.a, libc.a and crt0.o." }, \
+ { "mvme", 0, "Link with libmvme.a, libc.a and crt0.o." }, \
+ { "emb", 0, "Set the PPC_EMB bit in the ELF flags header" }, \
+ { "vxworks", 0, "no description yet" }, \
+ { "solaris-cclib", 0, "no description yet" }, \
+ { "shlib", 0, "no description yet" }, \
+ EXTRA_SUBTARGET_SWITCHES \
+ { "newlib", 0, "no description yet" },
/* This is meant to be redefined in the host dependent files */
#define EXTRA_SUBTARGET_SWITCHES
@@ -329,37 +341,10 @@ do { \
#undef FP_SAVE_INLINE
#define FP_SAVE_INLINE(FIRST_REG) ((FIRST_REG) < 64)
-/* Don't generate XCOFF debugging information. */
-
-#undef XCOFF_DEBUGGING_INFO
-
-/* Don't use the COFF object file format. */
-
-#undef OBJECT_FORMAT_COFF
-
/* Put jump tables in read-only memory, rather than in .text. */
#undef JUMP_TABLES_IN_TEXT_SECTION
#define JUMP_TABLES_IN_TEXT_SECTION 0
-/* Disable AIX-ism that disables turning -B into -L if the argument specifies a
- relative file name. This breaks setting GCC_EXEC_PREFIX to D:\path under
- Windows. */
-#undef RELATIVE_PREFIX_NOT_LINKDIR
-
-/* Undefine some things which are defined by the generic svr4.h. */
-
-#undef ASM_FILE_END
-#undef ASM_OUTPUT_EXTERNAL_LIBCALL
-#undef READONLY_DATA_SECTION
-#undef SELECT_SECTION
-#undef ASM_DECLARE_FUNCTION_NAME
-#undef ASM_OUTPUT_CONSTRUCTOR
-#undef ASM_OUTPUT_DESTRUCTOR
-
-/* Use the regular svr4 definitions. */
-
-#include "svr4.h"
-
/* Prefix and suffix to use to saving floating point */
#define SAVE_FP_PREFIX "_savefpr_"
#define SAVE_FP_SUFFIX "_l"
@@ -688,13 +673,9 @@ extern int rs6000_pic_labelno;
the linker seems to want the alignment of data objects
to depend on their types. We do exactly that here. */
-#ifndef LOCAL_ASM_OP
#define LOCAL_ASM_OP ".local"
-#endif
-#ifndef LCOMM_ASM_OP
#define LCOMM_ASM_OP ".lcomm"
-#endif
#undef ASM_OUTPUT_ALIGNED_LOCAL
#define ASM_OUTPUT_ALIGNED_LOCAL(FILE, NAME, SIZE, ALIGN) \
@@ -802,6 +783,40 @@ do { \
} \
} while (0)
+
+/* This is how to output an assembler line defining an address
+ constant for the dwarf call unwinding information.
+ For -mrelocatable, we mark all addresses that need to be fixed up
+ in the .fixup section. */
+
+extern int dwarflabelno;
+
+#undef ASM_OUTPUT_DWARF_ADDR
+#define ASM_OUTPUT_DWARF_ADDR(FILE,LABEL) \
+do { \
+ if ((TARGET_RELOCATABLE || flag_pic)) \
+ { \
+ char buf[256], *p; \
+ \
+ ASM_GENERATE_INTERNAL_LABEL (buf, "LCDW", dwarflabelno++); \
+ STRIP_NAME_ENCODING (p, buf); \
+ fprintf (FILE, "%s:\n", p); \
+ fprintf (FILE, "\t.4byte\t"); \
+ assemble_name (FILE, LABEL); \
+ fprintf (FILE, "\n"); \
+ fprintf (FILE, "\t.section \".fixup\",\"aw\"\n"); \
+ ASM_OUTPUT_ALIGN (FILE, 2); \
+ fprintf (FILE, "\t.long\t%s\n", p); \
+ fprintf (FILE, "\t.previous\n"); \
+ } \
+ else \
+ { \
+ fprintf (FILE, "\t.4byte\t"); \
+ assemble_name (FILE, LABEL); \
+ fprintf (FILE, "\n"); \
+ } \
+} while (0)
+
/* This is the end of what might become sysv4.h. */
/* Allow stabs and dwarf, for now, make stabs the default debugging type,
@@ -971,20 +986,14 @@ do { \
%{mcall-solaris: -mlittle -msolaris} \
%{mcall-linux: -mbig} }}}}"
-#ifndef CC1_ENDIAN_BIG_SPEC
#define CC1_ENDIAN_BIG_SPEC ""
-#endif
-#ifndef CC1_ENDIAN_LITTLE_SPEC
#define CC1_ENDIAN_LITTLE_SPEC "\
%{!mstrict-align: %{!mno-strict-align: \
-mstrict-align \
}}"
-#endif
-#ifndef CC1_ENDIAN_DEFAULT_SPEC
#define CC1_ENDIAN_DEFAULT_SPEC "%(cc1_endian_big_spec)"
-#endif
#undef CC1_SPEC
/* Pass -G xxx to the compiler and set correct endian mode */
@@ -1030,7 +1039,6 @@ do { \
#endif
/* Default starting address if specified */
-#ifndef LINK_START_SPEC
#define LINK_START_SPEC "\
%{mads: %(link_start_ads) } \
%{myellowknife: %(link_start_yellowknife) } \
@@ -1039,12 +1047,10 @@ do { \
%{mcall-linux: %(link_start_linux) } \
%{mcall-solaris: %(link_start_solaris) } \
%{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mcall-linux: %{!mcall-solaris: %(link_start_default) }}}}}}"
-#endif
-#ifndef LINK_START_DEFAULT_SPEC
#define LINK_START_DEFAULT_SPEC ""
-#endif
+/* override svr4.h definition */
#undef LINK_SPEC
#define LINK_SPEC "\
%{h*} %{v:-V} %{G*} \
@@ -1060,7 +1066,6 @@ do { \
#define NO_SHARED_LIB_SUPPORT
#endif
-#undef LINK_SHLIB_SPEC
#ifndef NO_SHARED_LIB_SUPPORT
/* Shared libraries are default. */
#define LINK_SHLIB_SPEC "\
@@ -1081,13 +1086,11 @@ do { \
#endif
/* Override the default target of the linker. */
-#undef LINK_TARGET_SPEC
#define LINK_TARGET_SPEC "\
%{mlittle: -oformat elf32-powerpcle } %{mlittle-endian: -oformat elf32-powerpcle } \
%{!mlittle: %{!mlittle-endian: %{!mbig: %{!mbig-endian: %{mcall-solaris: -oformat elf32-powerpcle}}}}}"
/* Any specific OS flags */
-#ifndef LINK_OS_SPEC
#define LINK_OS_SPEC "\
%{mads: %(link_os_ads) } \
%{myellowknife: %(link_os_yellowknife) } \
@@ -1096,11 +1099,8 @@ do { \
%{mcall-linux: %(link_os_linux) } \
%{mcall-solaris: %(link_os_solaris) } \
%{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mcall-linux: %{!mcall-solaris: %(link_os_default) }}}}}}"
-#endif
-#ifndef LINK_OS_DEFAULT_SPEC
#define LINK_OS_DEFAULT_SPEC ""
-#endif
#define CPP_SYSV_SPEC \
"%{mrelocatable*: -D_RELOCATABLE} \
@@ -1134,6 +1134,7 @@ do { \
#define CPP_ENDIAN_DEFAULT_SPEC "%(cpp_endian_big)"
+/* override rs6000.h definition */
#undef CPP_SPEC
#define CPP_SPEC "%{posix: -D_POSIX_SOURCE} %(cpp_sysv) %(cpp_endian) %(cpp_cpu) \
%{mads: %(cpp_os_ads) } \
@@ -1144,10 +1145,9 @@ do { \
%{mcall-solaris: %(cpp_os_solaris) } \
%{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mcall-linux: %{!mcall-solaris: %(cpp_os_default) }}}}}}"
-#ifndef CPP_OS_DEFAULT_SPEC
#define CPP_OS_DEFAULT_SPEC ""
-#endif
+/* override svr4.h definition */
#undef STARTFILE_SPEC
#define STARTFILE_SPEC "\
%{mads: %(startfile_ads) } \
@@ -1158,9 +1158,9 @@ do { \
%{mcall-solaris: %(startfile_solaris) } \
%{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mcall-linux: %{!mcall-solaris: %(startfile_default) }}}}}}"
-#undef STARTFILE_DEFAULT_SPEC
#define STARTFILE_DEFAULT_SPEC ""
+/* override svr4.h definition */
#undef LIB_SPEC
#define LIB_SPEC "\
%{mads: %(lib_ads) } \
@@ -1171,13 +1171,13 @@ do { \
%{mcall-solaris: %(lib_solaris) } \
%{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mcall-linux: %{!mcall-solaris: %(lib_default) }}}}}}"
+/* override rs6000.h definition */
#undef LIBGCC_SPEC
#define LIBGCC_SPEC "libgcc.a%s"
-#ifndef LIB_DEFAULT_SPEC
#define LIB_DEFAULT_SPEC ""
-#endif
+/* override svr4.h definition */
#undef ENDFILE_SPEC
#define ENDFILE_SPEC "\
%{mads: ecrtn.o%s} \
@@ -1189,111 +1189,61 @@ do { \
%{mvxworks: %(endfile_vxworks) } \
%{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mcall-linux: %{!mcall-solaris: %{!mvxworks: %(endfile_default) }}}}}}}"
-#undef ENDFILE_DEFAULT_SPEC
#define ENDFILE_DEFAULT_SPEC ""
/* Motorola ADS support. */
-#ifndef LIB_ADS_SPEC
#define LIB_ADS_SPEC "--start-group -lads -lc --end-group"
-#endif
-#ifndef STARTFILE_ADS_SPEC
#define STARTFILE_ADS_SPEC "ecrti.o%s crt0.o%s"
-#endif
-#ifndef ENDFILE_ADS_SPEC
#define ENDFILE_ADS_SPEC "ecrtn.o%s"
-#endif
-#ifndef LINK_START_ADS_SPEC
#define LINK_START_ADS_SPEC "-T ads.ld%s"
-#endif
-#ifndef LINK_OS_ADS_SPEC
#define LINK_OS_ADS_SPEC ""
-#endif
-#ifndef CPP_OS_ADS_SPEC
#define CPP_OS_ADS_SPEC ""
-#endif
/* Motorola Yellowknife support. */
-#ifndef LIB_YELLOWKNIFE_SPEC
#define LIB_YELLOWKNIFE_SPEC "--start-group -lyk -lc --end-group"
-#endif
-#ifndef STARTFILE_YELLOWKNIFE_SPEC
#define STARTFILE_YELLOWKNIFE_SPEC "ecrti.o%s crt0.o%s"
-#endif
-#ifndef ENDFILE_YELLOWKNIFE_SPEC
#define ENDFILE_YELLOWKNIFE_SPEC "ecrtn.o%s"
-#endif
-#ifndef LINK_START_YELLOWKNIFE_SPEC
#define LINK_START_YELLOWKNIFE_SPEC "-T yellowknife.ld%s"
-#endif
-#ifndef LINK_OS_YELLOWKNIFE_SPEC
#define LINK_OS_YELLOWKNIFE_SPEC ""
-#endif
-#ifndef CPP_OS_YELLOWKNIFE_SPEC
#define CPP_OS_YELLOWKNIFE_SPEC ""
-#endif
/* Motorola MVME support. */
-#ifndef LIB_MVME_SPEC
#define LIB_MVME_SPEC "--start-group -lmvme -lc --end-group"
-#endif
-#ifndef STARTFILE_MVME_SPEC
#define STARTFILE_MVME_SPEC "ecrti.o%s crt0.o%s"
-#endif
-#ifndef ENDFILE_MVME_SPEC
#define ENDFILE_MVME_SPEC "ecrtn.o%s"
-#endif
-#ifndef LINK_START_MVME_SPEC
#define LINK_START_MVME_SPEC "%{!Wl,-T*: %{!T*: -Ttext 0x40000}}"
-#endif
-#ifndef LINK_OS_MVME_SPEC
#define LINK_OS_MVME_SPEC ""
-#endif
-#ifndef CPP_OS_MVME_SPEC
#define CPP_OS_MVME_SPEC ""
-#endif
/* PowerPC simulator based on netbsd system calls support. */
-#ifndef LIB_SIM_SPEC
#define LIB_SIM_SPEC "--start-group -lsim -lc --end-group"
-#endif
-#ifndef STARTFILE_SIM_SPEC
#define STARTFILE_SIM_SPEC "ecrti.o%s sim-crt0.o%s"
-#endif
-#ifndef ENDFILE_SIM_SPEC
#define ENDFILE_SIM_SPEC "ecrtn.o%s"
-#endif
-#ifndef LINK_START_SIM_SPEC
#define LINK_START_SIM_SPEC "-Ttext 0x10000074"
-#endif
-#ifndef LINK_OS_SIM_SPEC
#define LINK_OS_SIM_SPEC ""
-#endif
-#ifndef CPP_OS_SIM_SPEC
#define CPP_OS_SIM_SPEC ""
-#endif
/* GNU/Linux support. */
-#ifndef LIB_LINUX_SPEC
#ifdef USE_GNULIBC_1
#define LIB_LINUX_SPEC "%{mnewlib: --start-group -llinux -lc --end-group } \
%{!mnewlib: -lc }"
@@ -1302,30 +1252,20 @@ do { \
%{!mnewlib: %{shared:-lc} %{!shared: %{pthread:-lpthread } \
%{profile:-lc_p} %{!profile:-lc}}}"
#endif
-#endif
-#ifndef STARTFILE_LINUX_SPEC
#define STARTFILE_LINUX_SPEC "\
%{!shared: %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} %{!p:crt1.o%s}}} \
%{mnewlib: ecrti.o%s} \
%{!mnewlib: crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}}"
-#endif
-#ifndef ENDFILE_LINUX_SPEC
#define ENDFILE_LINUX_SPEC "\
%{mnewlib: ecrtn.o%s} \
%{!mnewlib: %{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s}"
-#endif
-#ifndef LINK_START_LINUX_SPEC
#define LINK_START_LINUX_SPEC "-Ttext 0x400074"
-#endif
-#ifndef LINK_OS_LINUX_SPEC
#define LINK_OS_LINUX_SPEC ""
-#endif
-#ifndef CPP_OS_LINUX_SPEC
#ifdef USE_GNULIBC_1
#define CPP_OS_LINUX_SPEC "-D__unix__ -D__linux__ \
%{!undef:%{!ansi:%{!std=*:-Dunix -Dlinux}%{std=gnu*:-Dunix -Dlinux}}} \
@@ -1335,7 +1275,6 @@ do { \
%{!undef:%{!ansi:%{!std=*:-Dunix -Dlinux}%{std=gnu*:-Dunix -Dlinux}}} \
-Asystem(unix) -Asystem(posix) %{pthread:-D_REENTRANT}"
#endif
-#endif
/* Solaris support. */
/* For Solaris, Gcc automatically adds in one of the files
@@ -1349,7 +1288,6 @@ do { \
value of `_lib_version') if they will act in a strictly ANSI conforming
manner or not. */
-#ifndef LIB_SOLARIS_SPEC
#define LIB_SOLARIS_SPEC "\
%{mnewlib: --start-group -lsolaris -lc --end-group } \
%{!mnewlib: \
@@ -1360,67 +1298,45 @@ do { \
%{compat-bsd:-lucb -lsocket -lnsl -lelf -laio} \
%{solaris-cclib: /opt/SUNWspro/SC4.0/lib/libabi.a} \
%{!shared: %{!symbolic: -lc }}}"
-#endif
-#ifndef STARTFILE_SOLARIS_SPEC
#define STARTFILE_SOLARIS_SPEC "\
%{!msolaris-cclib: scrti.o%s scrt0.o%s} \
%{msolaris-cclib: /opt/SUNWspro/SC4.0/lib/crti.o%s /opt/SUNWspro/SC4.0/lib/crt1.o%s}"
-#endif
-#ifndef ENDFILE_SOLARIS_SPEC
#define ENDFILE_SOLARIS_SPEC "\
%{!msolaris-cclib: scrtn.o%s} \
%{msolaris-cclib: /opt/SUNWspro/SC4.0/lib/crtn.o%s}"
-#endif
-#ifndef LINK_START_SOLARIS_SPEC
#ifdef CROSS_COMPILER
#define LINK_START_SOLARIS_SPEC "-Ttext 0x2000074"
#else
#define LINK_START_SOLARIS_SPEC ""
#endif
-#endif
-#ifndef LINK_OS_SOLARIS_SPEC
#define LINK_OS_SOLARIS_SPEC ""
-#endif
-#ifndef CPP_OS_SOLARIS_SPEC
#define CPP_OS_SOLARIS_SPEC "-D__ppc -D__sun__=1 -D__unix__ -D__svr4__ -D__SVR4__ \
%{!undef:%{!ansi:%{!std=*:-Dsun=1 -Dunix -DSVR4 -D__EXTENSIONS__} \
%{std=gnu*:-Dsun=1 -Dunix -DSVR4 -D__EXTENSIONS__}}} \
-Amachine(prep)"
-#endif
/* VxWorks support. */
/* VxWorks does all the library stuff itself. */
-#ifndef LIB_VXWORKS_SPEC
#define LIB_VXWORKS_SPEC ""
-#endif
/* VxWorks provides the functionality of crt0.o and friends itself. */
-#ifndef STARTFILE_VXWORKS_SPEC
#define STARTFILE_VXWORKS_SPEC ""
-#endif
-#ifndef ENDFILE_VXWORKS_SPEC
#define ENDFILE_VXWORKS_SPEC ""
-#endif
/* Because it uses ld -r, vxworks has no start/end files, nor starting
address. */
-#ifndef LINK_START_VXWORKS_SPEC
#define LINK_START_VXWORKS_SPEC ""
-#endif
-#ifndef LINK_OS_VXWORKS_SPEC
#define LINK_OS_VXWORKS_SPEC "-r"
-#endif
-#ifndef CPP_OS_VXWORKS_SPEC
#define CPP_OS_VXWORKS_SPEC "\
-DCPU_FAMILY=PPC \
%{!mcpu*: \
@@ -1443,7 +1359,6 @@ do { \
%{mcpu=821: -DCPU=PPC603} \
%{mcpu=823: -DCPU=PPC603} \
%{mcpu=860: -DCPU=PPC603}"
-#endif
/* Define any extra SPECS that the compiler needs to generate. */
#undef SUBTARGET_EXTRA_SPECS
@@ -1521,7 +1436,6 @@ do { \
the target makefile fragment or if none of the options listed in
`MULTILIB_OPTIONS' are set by default. *Note Target Fragment::. */
-#undef MULTILIB_DEFAULTS
#define MULTILIB_DEFAULTS { "mbig", "mcall-sysv" }
/* Define this macro if the code for function profiling should come
@@ -1531,6 +1445,3 @@ do { \
/* Function name to call to do profiling. */
#define RS6000_MCOUNT "_mcount"
-
-/* r13 is used for the small data pointer under SVR4. */
-#define FIXED_R13 1
Index: win-nt.h
===================================================================
RCS file: /cvs/gcc/egcs/gcc/config/rs6000/win-nt.h,v
retrieving revision 1.4
diff -u -p -r1.4 win-nt.h
--- win-nt.h 1999/01/19 11:52:49 1.4
+++ win-nt.h 2000/01/05 16:27:20
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler, for PowerPC
running Windows/NT.
- Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
Contributed by Cygnus Support.
This file is part of GNU CC.
@@ -67,8 +67,6 @@ Boston, MA 02111-1307, USA. */
#define SUBTARGET_SWITCHES \
{ "windows", 0 }, \
{ "crtmt", 0 },
-
-#undef XCOFF_DEBUGGING_INFO
/* this is pure coff, not xcoff */
#define SDB_DEBUGGING_INFO
More information about the Gcc-patches
mailing list