diff options
| author | 2024-03-19 17:42:45 +0000 | |
|---|---|---|
| committer | 2024-03-19 17:42:45 +0000 | |
| commit | 97409cd9a2268fd80c33c58ddac8f3f3738d6dbe (patch) | |
| tree | 20bf46c11cb4507300a7b6ef19a924119964ee79 | |
| parent | 3e8bd456385cdfdc1670d27de8a2b0ada8ae7223 (diff) | |
| parent | 0593537f580be81dda354aa5208cb30740cb3c2f (diff) | |
Merge changes I7a102fa1,Ic3156e53 into main
* changes:
[cc:riscv64] change -munaligned-access to -mno-strict-align
Fully document all the riscv64 flags.
| -rw-r--r-- | cc/config/riscv64_device.go | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/cc/config/riscv64_device.go b/cc/config/riscv64_device.go index 6a84fee9f..a5dea55bb 100644 --- a/cc/config/riscv64_device.go +++ b/cc/config/riscv64_device.go @@ -23,24 +23,36 @@ import ( var ( riscv64Cflags = []string{ - // Help catch common 32/64-bit errors. + // Help catch common 32/64-bit errors. (This is duplicated in all 64-bit + // architectures' cflags.) "-Werror=implicit-function-declaration", + // This is already the driver's Android default, but duplicated here (and + // below) for ease of experimentation with additional extensions. "-march=rv64gcv_zba_zbb_zbs", - "-munaligned-access", - // Until https://gitlab.com/qemu-project/qemu/-/issues/1976 is fixed... + // TODO: move to driver (https://github.com/google/android-riscv64/issues/111) + "-mno-strict-align", + // TODO: remove when qemu V works (https://gitlab.com/qemu-project/qemu/-/issues/1976) + // (Note that we'll probably want to wait for berberis to be good enough + // that most people don't care about qemu's V performance either!) "-mno-implicit-float", - // (https://github.com/google/android-riscv64/issues/124) + // TODO: remove when clang default changed (https://github.com/google/android-riscv64/issues/124) "-mllvm -jump-is-expensive=false", } riscv64ArchVariantCflags = map[string][]string{} riscv64Ldflags = []string{ + // TODO: sysv hashes are the default for other architectures because gnu + // hashes weren't supported until api level 23, but riscv64 didn't exist + // back then, and could move today... + // https://android.googlesource.com/platform/bionic/+/main/android-changes-for-ndk-developers.md#gnu-hashes-availible-in-api-level-23 "-Wl,--hash-style=gnu", + // This is already the driver's Android default, but duplicated here (and + // above) for ease of experimentation with additional extensions. "-march=rv64gcv_zba_zbb_zbs", - "-munaligned-access", - // We should change the default for this in clang, but for now... - // (https://github.com/google/android-riscv64/issues/124) + // TODO: move to driver (https://github.com/google/android-riscv64/issues/111) + "-mno-strict-align", + // TODO: remove when clang default changed (https://github.com/google/android-riscv64/issues/124) "-Wl,-mllvm -Wl,-jump-is-expensive=false", } |