diff options
author | kkojima <kkojima@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-03-14 03:01:53 +0000 |
---|---|---|
committer | kkojima <kkojima@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-03-14 03:01:53 +0000 |
commit | ae979f3281bbbd9d657131010bc7528101c94b5b (patch) | |
tree | f59d4476cf6834e1ea696b8aa8536b97a4324165 /gcc | |
parent | e92dc13a34a52c78df7d7372e3b3748c3d4d57bf (diff) | |
download | ppe42-gcc-ae979f3281bbbd9d657131010bc7528101c94b5b.tar.gz ppe42-gcc-ae979f3281bbbd9d657131010bc7528101c94b5b.zip |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196646 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/sh/linux.h | 6 | ||||
-rw-r--r-- | gcc/config/sh/netbsd-elf.h | 12 |
3 files changed, 22 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e2cd655971a..cd69f0cf6a7 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 8bc7de83ab0..9e8f32d06d1 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 a390f40feea..807638a0f79 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) |