aboutsummaryrefslogtreecommitdiff
path: root/gcc/common
diff options
context:
space:
mode:
authorMarcus Comstedt <marcus@mc.pp.se>2021-03-19 20:49:04 +0100
committerKito Cheng <kito.cheng@sifive.com>2021-03-23 17:31:13 +0800
commitcd1e2f632532d04c67a17820cb25826f8b0febac (patch)
treeb3b7949338db616d7d2d4837ed52049265bd0a73 /gcc/common
parenta9604fcbb29e457a4824a496905057dcc2e5d78a (diff)
downloadgcc-cd1e2f632532d04c67a17820cb25826f8b0febac.zip
gcc-cd1e2f632532d04c67a17820cb25826f8b0febac.tar.gz
gcc-cd1e2f632532d04c67a17820cb25826f8b0febac.tar.bz2
RISC-V: Add riscv{32,64}be with big endian as default
gcc/ * common/config/riscv/riscv-common.c (TARGET_DEFAULT_TARGET_FLAGS): Set default endianness. * config.gcc (riscv32be-*, riscv64be-*): Set TARGET_BIG_ENDIAN_DEFAULT to 1. * config/riscv/elf.h (LINK_SPEC): Change -melf* value depending on default endianness. * config/riscv/freebsd.h (LINK_SPEC): Likewise. * config/riscv/linux.h (LINK_SPEC): Likewise. * config/riscv/riscv.c (TARGET_DEFAULT_TARGET_FLAGS): Set default endianness. * config/riscv/riscv.h (DEFAULT_ENDIAN_SPEC): New macro.
Diffstat (limited to 'gcc/common')
-rw-r--r--gcc/common/config/riscv/riscv-common.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/common/config/riscv/riscv-common.c b/gcc/common/config/riscv/riscv-common.c
index 6bbe25d..34b74e5 100644
--- a/gcc/common/config/riscv/riscv-common.c
+++ b/gcc/common/config/riscv/riscv-common.c
@@ -32,6 +32,11 @@ along with GCC; see the file COPYING3. If not see
#include "config/riscv/riscv-protos.h"
#include "config/riscv/riscv-subset.h"
+#ifdef TARGET_BIG_ENDIAN_DEFAULT
+#undef TARGET_DEFAULT_TARGET_FLAGS
+#define TARGET_DEFAULT_TARGET_FLAGS (MASK_BIG_ENDIAN)
+#endif
+
/* Type for implied ISA info. */
struct riscv_implied_info_t
{