m68k.h (OVERRIDE_OPTIONS): Move additional code ...

* config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
        * config/m68k/m68k.c (override_options): ... here.
        * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
        * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
        * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
        * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.

From-SVN: r57797
This commit is contained in:
Richard Henderson 2002-10-03 19:19:40 -07:00 committed by Richard Henderson
parent a751939354
commit adf2ac3713
7 changed files with 31 additions and 56 deletions

View File

@ -1,3 +1,12 @@
2002-10-03 Richard Henderson <rth@redhat.com>
* config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
* config/m68k/m68k.c (override_options): ... here.
* config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
* config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
* config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
* config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
2002-10-03 Richard Henderson <rth@redhat.com>
* real.h (struct real_value): Use ENUM_BITFIELD.

View File

@ -315,15 +315,6 @@ do { \
|| (GET_CODE (X) == SYMBOL_REF && SYMBOL_REF_FLAG (X)) \
|| PCREL_GENERAL_OPERAND_OK)
/* Turn off function cse if we are doing PIC. We always want function
call to be done as `bsr foo@PLTPC', so it will force the assembler
to create the PLT entry for `foo'. Doing function cse will cause
the address of `foo' to be loaded into a register, which is exactly
what we want to avoid when we are doing PIC on svr4 m68k. */
#undef SUBTARGET_OVERRIDE_OPTIONS
#define SUBTARGET_OVERRIDE_OPTIONS \
if (flag_pic) flag_no_function_cse = 1;
/* For m68k SVR4, structures are returned using the reentrant
technique. */
#undef PCC_STATIC_STRUCT_RETURN

View File

@ -175,6 +175,27 @@ override_options ()
m68k_align_funcs = i;
}
/* -fPIC uses 32-bit pc-relative displacements, which don't exist
until the 68020. */
if (! TARGET_68020 && flag_pic == 2)
error("-fPIC is not currently supported on the 68000 or 68010\n");
/* ??? A historic way of turning on pic, or is this intended to
be an embedded thing that doesn't have the same name binding
significance that it does on hosted ELF systems? */
if (TARGET_PCREL && flag_pic == 0)
flag_pic = 1;
/* Turn off function cse if we are doing PIC. We always want function call
to be done as `bsr foo@PLTPC', so it will force the assembler to create
the PLT entry for `foo'. Doing function cse will cause the address of
`foo' to be loaded into a register, which is exactly what we want to
avoid when we are doing PIC on svr4 m68k. */
if (flag_pic)
flag_no_function_cse = 1;
SUBTARGET_OVERRIDE_OPTIONS;
/* Tell the compiler which flavor of XFmode we're using. */
real_format_for_mode[XFmode - QFmode] = &ieee_extended_motorola_format;
}

View File

@ -277,15 +277,7 @@ extern int target_flags;
Don't use this macro to turn on various extra optimizations for
`-O'. That is what `OPTIMIZATION_OPTIONS' is for. */
#define OVERRIDE_OPTIONS \
{ \
override_options(); \
if (! TARGET_68020 && flag_pic == 2) \
error("-fPIC is not currently supported on the 68000 or 68010\n"); \
if (TARGET_PCREL && flag_pic == 0) \
flag_pic = 1; \
SUBTARGET_OVERRIDE_OPTIONS; \
}
#define OVERRIDE_OPTIONS override_options()
/* These are meant to be redefined in the host dependent files */
#define SUBTARGET_SWITCHES

View File

@ -251,20 +251,6 @@ extern int switch_table_difference_label_flag;
|| (GET_CODE (X) == SYMBOL_REF && SYMBOL_REF_FLAG (X)) \
|| PCREL_GENERAL_OPERAND_OK)
/* Turn off function cse if we are doing PIC. We always want function call
to be done as `bsr foo@PLTPC', so it will force the assembler to create
the PLT entry for `foo'. Doing function cse will cause the address of `foo'
to be loaded into a register, which is exactly what we want to avoid when
we are doing PIC on svr4 m68k. */
#undef OVERRIDE_OPTIONS
#define OVERRIDE_OPTIONS \
{ \
if (flag_pic) flag_no_function_cse = 1; \
if (! TARGET_68020 && flag_pic == 2) \
error("-fPIC is not currently supported on the 68000 or 68010\n"); \
if (TARGET_PCREL && flag_pic == 0) \
flag_pic = 1; \
}
/* end of stuff from m68kv4.h */
#undef SGS_CMP_ORDER

View File

@ -283,19 +283,6 @@ int switch_table_difference_label_flag;
|| (GET_CODE (X) == SYMBOL_REF && SYMBOL_REF_FLAG (X)) \
|| PCREL_GENERAL_OPERAND_OK)
/* Turn off function cse if we are doing PIC. We always want function call
to be done as `bsr foo@PLTPC', so it will force the assembler to create
the PLT entry for `foo'. Doing function cse will cause the address of `foo'
to be loaded into a register, which is exactly what we want to avoid when
we are doing PIC on svr4 m68k. */
#undef OVERRIDE_OPTIONS
#define OVERRIDE_OPTIONS \
{ \
if (flag_pic) flag_no_function_cse = 1; \
if (! TARGET_68020 && flag_pic == 2) \
error("-fPIC is not currently supported on the 68000 or 68010\n"); \
}
/* Output assembler code for a block containing the constant parts
of a trampoline, leaving space for the variable parts. */

View File

@ -273,17 +273,6 @@ while (0)
fprintf ((FILE), ",%u\n", (SIZE)))
/* Turn off function cse if we are doing PIC. We always want function
call to be done as `bsr foo@PLTPC', so it will force the assembler
to create the PLT entry for `foo'. Doing function cse will cause
the address of `foo' to be loaded into a register, which is exactly
what we want to avoid when we are doing PIC on svr4 m68k. */
#undef SUBTARGET_OVERRIDE_OPTIONS
#define SUBTARGET_OVERRIDE_OPTIONS \
if (flag_pic) flag_no_function_cse = 1;
/* XXX
This is the end of the chunk lifted from m68kelf.h */