summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2018-12-14 09:55:15 -0500
committerBen Gamari <ben@smart-cactus.org>2018-12-14 19:49:28 -0500
commitaeefd7b36b2cab640352f6c8bd16c62d38782edf (patch)
treefcf8ac3b70a2b3c6cc2becacf36ce617badc316d
parentf583ccfe640815d853dab25c0d92a239dc3c3244 (diff)
downloadhaskell-aeefd7b36b2cab640352f6c8bd16c62d38782edf.tar.gz
rts: Annotate fallthroughs in AArch64 linker
-rw-r--r--rts/linker/elf_reloc_aarch64.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/rts/linker/elf_reloc_aarch64.c b/rts/linker/elf_reloc_aarch64.c
index c50ef04080..bb15576d06 100644
--- a/rts/linker/elf_reloc_aarch64.c
+++ b/rts/linker/elf_reloc_aarch64.c
@@ -125,18 +125,23 @@ encodeAddendAarch64(Section * section, Elf_Rel * rel, int64_t addend) {
// 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
// ... imm12 ] [ Rn ] [ Rd ]
- /* fall through */
+ FALLTHROUGH;
}
case COMPAT_R_AARCH64_LDST8_ABS_LO12_NC:
if(exp_shift == -1) exp_shift = 0;
+ FALLTHROUGH;
case COMPAT_R_AARCH64_LDST16_ABS_LO12_NC:
if(exp_shift == -1) exp_shift = 1;
+ FALLTHROUGH;
case COMPAT_R_AARCH64_LDST32_ABS_LO12_NC:
if(exp_shift == -1) exp_shift = 2;
+ FALLTHROUGH;
case COMPAT_R_AARCH64_LDST64_ABS_LO12_NC:
if(exp_shift == -1) exp_shift = 3;
+ FALLTHROUGH;
case COMPAT_R_AARCH64_LDST128_ABS_LO12_NC:
if(exp_shift == -1) exp_shift = 4;
+ FALLTHROUGH;
case COMPAT_R_AARCH64_LD64_GOT_LO12_NC: {
if(exp_shift == -1) {
assert( (addend & 7) == 0 );