mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-12-14 22:43:39 +08:00
arm.c (arm_cpp_interwork): New variable.
* arm.c (arm_cpp_interwork): New variable. (arm_override_options): Set it if TARGET_INTERWORK was on the command line. * arm.h (arm_cpp_interwork): Declare it. (TARGET_CPU_CPP_BUILTINS): Use it to control definition of __THUMB_INTERWORK__ in the preprocessor. From-SVN: r84351
This commit is contained in:
parent
55d816e7c1
commit
2ad4dcf985
@ -1,3 +1,12 @@
|
||||
2004-07-09 Richard Earnshaw <rearnsha@arm.com>
|
||||
|
||||
* arm.c (arm_cpp_interwork): New variable.
|
||||
(arm_override_options): Set it if TARGET_INTERWORK was on the command
|
||||
line.
|
||||
* arm.h (arm_cpp_interwork): Declare it.
|
||||
(TARGET_CPU_CPP_BUILTINS): Use it to control definition of
|
||||
__THUMB_INTERWORK__ in the preprocessor.
|
||||
|
||||
2004-07-09 Nathan Sidwell <nathan@codesourcery.com>
|
||||
|
||||
* vec.h (VEC_T_alloc): Fix MEM_STAT_DECL pasto.
|
||||
|
@ -418,6 +418,13 @@ int arm_is_6_or_7 = 0;
|
||||
/* Nonzero if generating Thumb instructions. */
|
||||
int thumb_code = 0;
|
||||
|
||||
/* Nonzero if we should define __THUMB_INTERWORK__ in the
|
||||
preprocessor.
|
||||
XXX This is a bit of a hack, it's intended to help work around
|
||||
problems in GLD which doesn't understand that armv5t code is
|
||||
interworking clean. */
|
||||
int arm_cpp_interwork = 0;
|
||||
|
||||
/* In case of a PRE_INC, POST_INC, PRE_DEC, POST_DEC memory reference, we
|
||||
must report the mode of the memory reference from PRINT_OPERAND to
|
||||
PRINT_OPERAND_ADDRESS. */
|
||||
@ -838,6 +845,12 @@ arm_override_options (void)
|
||||
|
||||
/* V5 code we generate is completely interworking capable, so we turn off
|
||||
TARGET_INTERWORK here to avoid many tests later on. */
|
||||
|
||||
/* XXX However, we must pass the right pre-processor defines to CPP
|
||||
or GLD can get confused. This is a hack. */
|
||||
if (TARGET_INTERWORK)
|
||||
arm_cpp_interwork = 1;
|
||||
|
||||
if (arm_arch5)
|
||||
target_flags &= ~ARM_FLAG_INTERWORK;
|
||||
|
||||
|
@ -63,7 +63,7 @@ extern char arm_arch_name[];
|
||||
\
|
||||
/* Add a define for interworking. \
|
||||
Needed when building libgcc.a. */ \
|
||||
if (TARGET_INTERWORK) \
|
||||
if (arm_cpp_interwork) \
|
||||
builtin_define ("__THUMB_INTERWORK__"); \
|
||||
\
|
||||
builtin_assert ("cpu=arm"); \
|
||||
@ -528,6 +528,13 @@ extern int arm_tune_xscale;
|
||||
/* Nonzero if this chip is an ARM6 or an ARM7. */
|
||||
extern int arm_is_6_or_7;
|
||||
|
||||
/* Nonzero if we should define __THUMB_INTERWORK__ in the
|
||||
preprocessor.
|
||||
XXX This is a bit of a hack, it's intended to help work around
|
||||
problems in GLD which doesn't understand that armv5t code is
|
||||
interworking clean. */
|
||||
extern int arm_cpp_interwork;
|
||||
|
||||
#ifndef TARGET_DEFAULT
|
||||
#define TARGET_DEFAULT (ARM_FLAG_APCS_FRAME)
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user