Enable build and usage on Sparc64 Change-Id: Iae8d0cfd110f6a99a01d53d398f86de0871b4ed3 Reviewed-on: https://gn-review.googlesource.com/c/gn/+/24040 Reviewed-by: Sylvain Defresne <sdefresne@chromium.org> Commit-Queue: David Turner <digit@google.com> Reviewed-by: David Turner <digit@google.com>
diff --git a/src/gn/args.cc b/src/gn/args.cc index 72e96cf..a623f86 100644 --- a/src/gn/args.cc +++ b/src/gn/args.cc
@@ -373,6 +373,7 @@ static const char kMips64[] = "mips64el"; static const char kS390X[] = "s390x"; static const char kPPC64[] = "ppc64"; + static const char kSPARC64[] = "sparc64"; static const char kRISCV32[] = "riscv32"; static const char kRISCV64[] = "riscv64"; static const char kE2K[] = "e2k"; @@ -401,6 +402,8 @@ // This allows us to use the same toolchain as ppc64 BE // and specific flags are included using the host_byteorder logic. arch = kPPC64; + else if (os_arch == "sparc64") + arch = kSPARC64; else if (os_arch == "riscv32") arch = kRISCV32; else if (os_arch == "riscv64")
diff --git a/src/util/build_config.h b/src/util/build_config.h index 52c4f21..b4767f5 100644 --- a/src/util/build_config.h +++ b/src/util/build_config.h
@@ -173,6 +173,11 @@ #elif defined(__riscv) && (__riscv_xlen == 64) #define ARCH_CPU_64_BITS 1 #define ARCH_CPU_LITTLE_ENDIAN 1 +#elif defined(__sparc__) && defined(__LP64__) +#define ARCH_CPU_SPARC_FAMILY 1 +#define ARCH_CPU_SPARC64 1 +#define ARCH_CPU_64_BITS 1 +#define ARCH_CPU_BIG_ENDIAN 1 #elif defined(__loongarch__) #if defined(__LP64__) #define ARCH_CPU_LOONG_FAMILY 1