aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/m68k/linux.h
diff options
context:
space:
mode:
authornathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>2006-10-30 13:39:33 +0000
committernathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>2006-10-30 13:39:33 +0000
commit352b62b26b18d3a41adb25c94d78c9303775b700 (patch)
treedd84ac123ec7885309e8c16070d77689d45f3969 /gcc/config/m68k/linux.h
parent75922898bd25580a0553e3a5f6716a59ab9b5b03 (diff)
* config.gcc (m68k-*-aout*, m68k-*-coff*, m68020-*-elf*, m68k-*-elf*, m68010-*-netbsdelf*, m68k*-*-netbsdelf*, m68k*-*-openbsd*, m68k-*-rtems*): Use tm_file rather than m68k/m68k.h and explicitly set MOTOROLA to 1. m68k-*-uclinux*, m68k-*-linux*): Place m68k/m68k.h last, define MOTOROLA to 1, remove obsolete comments. * config/m68k/linux.h (TARGET_VERSION): Don't undef here. (ASM_SPEC): Replace with ... (SUBTARGET_ASM_SPEC): ... this. Remove unneeded %{Wa,*:%*} spec. (REGISTER_PREFIX, LOCAL_LABEL_PREFIX, USER_LABEL_PREFIX, SIZE_TYPE, CPP_SPEC, ASM_OUTPUT_ALIGN, FUNCTION_PROFILER, FUNCTION_VALUE_REGNO_P, NEEDS_UNTYPED_CALL, FUNCTION_VALUE, LIBCALL_VALUE): Remove undefs prior to setting them. (WCHAR_TYPE, WCHAR_TYPE_SIZE, SIZE_TYPE, PTR_DIFFTYPE, DBX_REGISTER_NUMBER): Remove definitions, the defaults are ok. (TARGET_ASM_FILE_START_APP_OFF): Explicitly define to false * config/m68k/m68k-none.h: Remove obsolete MULTILIB_DEFAULTS comment. (ASM_SPEC): Replace with ... (SUBTARGET_ASM_SPEC): ... this. * config/m68k/openbsd.h (ASM_SPEC): Replace with ... (SUBTARGET_ASM_SPEC): ... this. * config/m68k/m68k.h (MOTOROLA): Expect to be defined to a value, if defined. (ASM_CPU_SPEC, SUBTARGET_ASM_SPEC): New. (ASM_SPEC): Define. (EXTRA_SPECS): Add asm_cpu_spec, subtarget_asm_spec. (CPP_SUBTARGET_SPEC): Remove. (WCHAR_TYPE_SIZE): Set to BITS_PER_WORD. (STACK_GROWS_DOWNWARD): Set to 1. (SUBTARGET_EXTRA_SPECS): Remove. (TARGET_VERSION, FUNCTION_VALUE, LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P, NEEDS_UNTYPED_CALL, FUNCTION_PROFILER, M68K_OFFSETS_MUST_BE_WITHIN_SECTIONS_P, REGISTER_PREFIX, LOCAL_LABEL_PREFIX, TARGET_ASM_FILE_START_APP_OFF, ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP): Add protective #ifndefs * config/m68k/uclinux.h (M68K_OFFSETS_MUST_BE_WITHIN_SECTIONS_P): Unconditionally define. gcc/ * config/m68k/m68k.h (REGISTER_MOVE_COST): Simplify. (RETURN_POPS_ARGS): Reformat to avoid long line. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/csl/sourcerygxx-4_1@118180 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/m68k/linux.h')
-rw-r--r--gcc/config/m68k/linux.h53
1 files changed, 7 insertions, 46 deletions
diff --git a/gcc/config/m68k/linux.h b/gcc/config/m68k/linux.h
index 99b8de22853..93de1235b29 100644
--- a/gcc/config/m68k/linux.h
+++ b/gcc/config/m68k/linux.h
@@ -20,7 +20,6 @@ along with GCC; see the file COPYING. If not, write to
the Free Software Foundation, 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA. */
-#undef TARGET_VERSION
#define TARGET_VERSION fprintf (stderr, " (68k GNU/Linux with ELF)");
/* Default to m68040. */
@@ -29,22 +28,12 @@ Boston, MA 02110-1301, USA. */
#define ASM_CPU_DEFAULT_SPEC "-mcpu=68040"
#endif
-/* We override the ASM_SPEC from svr4.h because we must pass the right
- cpu option to the assembler. This can go away when we require the
- assembler to suppor the .cpu directive. */
+/* ASM_SPEC is set in m68k.h, so we have to set SUBTARGET_ASM_SPEC to
+ the svr4.h options. We have to undef ASM_SPEC here, so that m68k.h
+ does not complain. */
#undef ASM_SPEC
-#define ASM_SPEC \
- "%{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*} \
-%{m68851}%{mno-68851}%{m68881}%{mno-68881}%{msoft-float:-mno-float}\
-%{m68000}%{m68302}%{mc68000}%{m68010}%{m68020}%{mc68020}%{m68030}\
-%{m68040}%{m68020-40:-m68040} %{m68020-60:-m68040}\
-%{m68060}%{mcpu32}%{m68332}%{m5200}%{m5206e}%{m528x}%{m5307}%{m5407}%{mcfv4e}\
-%{mcpu=*:-mcpu=%*}\
-%{march=*:-march=%*}\
-%{!mc68000:%{!m68000:%{!m68302:%{!m68010:%{!mc68020:%{!m68020:\
- %{!m68030:%{!m68040:%{!m68020-40:%{!m68020-60:%{!m68060:%{!mcpu32:\
- %{!m68332:%{!m5200:%{!m5206e:%{!m528x:%{!m5307:%{!m5407:%{!mcfv4e:\
- %{!mcpu=*:%{!march=*:%(asm_cpu_default)}}}}}}}}}}}}}}}}}}}}}"
+#define SUBTARGET_ASM_SPEC \
+ "%{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*}"
/* Here are four prefixes that are used by asm_fprintf to
facilitate customization for alternate assembler syntaxes.
@@ -55,34 +44,19 @@ Boston, MA 02110-1301, USA. */
is supposed to include this prefix. Also note that this is NOT an
fprintf format string, it is a literal string */
-#undef REGISTER_PREFIX
#define REGISTER_PREFIX "%"
/* The prefix for local (compiler generated) labels.
These labels will not appear in the symbol table. */
-#undef LOCAL_LABEL_PREFIX
#define LOCAL_LABEL_PREFIX "."
/* The prefix to add to user-visible assembler symbols. */
-#undef USER_LABEL_PREFIX
#define USER_LABEL_PREFIX ""
#define ASM_COMMENT_START "|"
-#undef SIZE_TYPE
-#define SIZE_TYPE "unsigned int"
-
-#undef PTRDIFF_TYPE
-#define PTRDIFF_TYPE "int"
-
-#undef WCHAR_TYPE
-#define WCHAR_TYPE "long int"
-
-#undef WCHAR_TYPE_SIZE
-#define WCHAR_TYPE_SIZE BITS_PER_WORD
-
/* Target OS builtins. */
#define TARGET_OS_CPP_BUILTINS() \
do \
@@ -98,7 +72,6 @@ Boston, MA 02110-1301, USA. */
} \
while (0)
-#undef CPP_SPEC
#define CPP_SPEC \
"%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
@@ -120,7 +93,7 @@ Boston, MA 02110-1301, USA. */
#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
-#undef LINK_SPEC
+#undef LINK_SPEC
#define LINK_SPEC "-m m68kelf %{shared} \
%{!shared: \
%{!static: \
@@ -155,7 +128,6 @@ Boston, MA 02110-1301, USA. */
/* This is how to output an assembler line that says to advance the
location counter to a multiple of 2**LOG bytes. */
-#undef ASM_OUTPUT_ALIGN
#define ASM_OUTPUT_ALIGN(FILE,LOG) \
if ((LOG) > 0) \
fprintf ((FILE), "%s%u\n", ALIGN_ASM_OP, 1 << (LOG));
@@ -177,7 +149,6 @@ Boston, MA 02110-1301, USA. */
/* Output assembler code to FILE to increment profiler label # LABELNO
for profiling a function entry. */
-#undef FUNCTION_PROFILER
#define FUNCTION_PROFILER(FILE, LABELNO) \
{ \
asm_fprintf (FILE, "\tlea (%LLP%d,%Rpc),%Ra1\n", (LABELNO)); \
@@ -187,12 +158,6 @@ Boston, MA 02110-1301, USA. */
fprintf (FILE, "\tjbsr _mcount\n"); \
}
-/* How to renumber registers for dbx and gdb.
- On the Sun-3, the floating point registers have numbers
- 18 to 25, not 16 to 23 as they do in the compiler. */
-
-#define DBX_REGISTER_NUMBER(REGNO) ((REGNO) < 16 ? (REGNO) : (REGNO) + 2)
-
/* Do not break .stabs pseudos into continuations. */
#define DBX_CONTIN_LENGTH 0
@@ -202,14 +167,12 @@ Boston, MA 02110-1301, USA. */
pointer, or floating types, respectively. Reject fp0 if not using
a 68881 coprocessor. */
-#undef FUNCTION_VALUE_REGNO_P
#define FUNCTION_VALUE_REGNO_P(N) \
((N) == 0 || (N) == 8 || (TARGET_68881 && (N) == 16))
/* Define this to be true when FUNCTION_VALUE_REGNO_P is true for
more than one register. */
-#undef NEEDS_UNTYPED_CALL
#define NEEDS_UNTYPED_CALL 1
/* Define how to generate (in the callee) the output value of a
@@ -219,7 +182,6 @@ Boston, MA 02110-1301, USA. */
FUNCTION_DECL; otherwise, FUNC is 0. For m68k/SVR4 generate the
result in d0, a0, or fp0 as appropriate. */
-#undef FUNCTION_VALUE
#define FUNCTION_VALUE(VALTYPE, FUNC) \
m68k_function_value (VALTYPE, FUNC)
@@ -228,7 +190,6 @@ Boston, MA 02110-1301, USA. */
For m68k/SVR4 look for integer values in d0, pointer values in d0
(returned in both d0 and a0), and floating values in fp0. */
-#undef LIBCALL_VALUE
#define LIBCALL_VALUE(MODE) \
m68k_libcall_value (MODE)
@@ -276,6 +237,6 @@ Boston, MA 02110-1301, USA. */
/* glibc uses comments to hide section attributes. So setting
ASM_FILE_START_APP_OFF breaks it. */
-#undef TARGET_ASM_FILE_START_APP_OFF
+#define TARGET_ASM_FILE_START_APP_OFF false
#define MD_UNWIND_SUPPORT "config/m68k/linux-unwind.h"