aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKaz Kojima <kkojima@gcc.gnu.org>2013-03-14 03:01:53 +0000
committerKaz Kojima <kkojima@gcc.gnu.org>2013-03-14 03:01:53 +0000
commitee0d2b6893dfa00bb8778d4e4841bd7983c6e593 (patch)
treef59d4476cf6834e1ea696b8aa8536b97a4324165 /gcc
parent2d9aba16b3fa7e7570926dac564e38007198892b (diff)
downloadgcc-ee0d2b6893dfa00bb8778d4e4841bd7983c6e593.zip
gcc-ee0d2b6893dfa00bb8778d4e4841bd7983c6e593.tar.gz
gcc-ee0d2b6893dfa00bb8778d4e4841bd7983c6e593.tar.bz2
linux.h (TARGET_DEFAULT): Remove MASK_USERMODE.
* config/sh/linux.h (TARGET_DEFAULT): Remove MASK_USERMODE. (SUBTARGET_OVERRIDE_OPTIONS): Set TARGET_USERMODE as default. * config/sh/netbsd-elf.h (TARGET_DEFAULT): Remove MASK_USERMODE. (SUBTARGET_OVERRIDE_OPTIONS): New. From-SVN: r196646
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/sh/linux.h6
-rw-r--r--gcc/config/sh/netbsd-elf.h12
3 files changed, 22 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e2cd655..cd69f0c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2013-03-14 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/linux.h (TARGET_DEFAULT): Remove MASK_USERMODE.
+ (SUBTARGET_OVERRIDE_OPTIONS): Set TARGET_USERMODE as default.
+ * config/sh/netbsd-elf.h (TARGET_DEFAULT): Remove MASK_USERMODE.
+ (SUBTARGET_OVERRIDE_OPTIONS): New.
+
2013-03-13 Oleg Endo <olegendo@gcc.gnu.org>
PR target/49880
diff --git a/gcc/config/sh/linux.h b/gcc/config/sh/linux.h
index 8bc7de8..9e8f32d 100644
--- a/gcc/config/sh/linux.h
+++ b/gcc/config/sh/linux.h
@@ -39,8 +39,7 @@ along with GCC; see the file COPYING3. If not see
#undef TARGET_DEFAULT
#define TARGET_DEFAULT \
- (TARGET_CPU_DEFAULT | MASK_USERMODE | TARGET_ENDIAN_DEFAULT \
- | TARGET_OPT_DEFAULT)
+ (TARGET_CPU_DEFAULT | TARGET_ENDIAN_DEFAULT | TARGET_OPT_DEFAULT)
#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
@@ -146,5 +145,8 @@ along with GCC; see the file COPYING3. If not see
else if (TARGET_SH1) \
sh_atomic_model_str = "soft-imask"; \
} \
+ /* Set -musermode if it hasn't been specified. */ \
+ if (global_options_set.x_TARGET_USERMODE == 0) \
+ TARGET_USERMODE = true; \
} \
while (0)
diff --git a/gcc/config/sh/netbsd-elf.h b/gcc/config/sh/netbsd-elf.h
index a390f40..807638a 100644
--- a/gcc/config/sh/netbsd-elf.h
+++ b/gcc/config/sh/netbsd-elf.h
@@ -58,7 +58,7 @@ along with GCC; see the file COPYING3. If not see
#undef TARGET_DEFAULT
#define TARGET_DEFAULT \
- (TARGET_CPU_DEFAULT | MASK_USERMODE | TARGET_ENDIAN_DEFAULT)
+ (TARGET_CPU_DEFAULT | TARGET_ENDIAN_DEFAULT)
/* Define because we use the label and we do not need them. */
#define NO_PROFILE_COUNTERS 1
@@ -94,3 +94,13 @@ while (0)
#define SH_DIV_STRATEGY_DEFAULT SH_DIV_CALL2
#undef SH_DIV_STR_FOR_SIZE
#define SH_DIV_STR_FOR_SIZE "call2"
+
+#undef SUBTARGET_OVERRIDE_OPTIONS
+#define SUBTARGET_OVERRIDE_OPTIONS \
+ do \
+ { \
+ /* Set -musermode if it hasn't been specified. */ \
+ if (global_options_set.x_TARGET_USERMODE == 0) \
+ TARGET_USERMODE = true; \
+ } \
+ while (0)