projects/linux·commit b2fed34a

selftests/powerpc: Adjust wild_bctr to build with old binutils

b2fed34a · Gustavo Romero <[email protected]> · 2018-11-14 21:33:30 -05:00

Currently the selftest wild_bctr can fail to build when an old gcc is
used, notably on gcc using a binutils version <= 2.27, because the
assembler does not support the integer suffix UL.

This patch adjusts the wild_bctr test so the REG_POISON value is still
treated as an unsigned long for the shifts on compilation but the UL
suffix is absent on the stringification, so the inline asm code
generated has no UL suffixes.

Signed-off-by: Gustavo Romero <[email protected]>
[mpe: Wrap long line]
Signed-off-by: Michael Ellerman <[email protected]>
Commit
b2fed34a628df6118b5d4e13f49a33e15f704fa9
Parents
66f93c5a

Changes

1 files changed · +3 −2

FileStatusAddDelContent
tools/testing/selftests/powerpc/mm/wild_bctr.cmodified+3−2View file

tools/testing/selftests/powerpc/mm/wild_bctr.c

View file
diff --git a/tools/testing/selftests/powerpc/mm/wild_bctr.c b/tools/testing/selftests/powerpc/mm/wild_bctr.c
index 90469a9..f2fa101 100644
--- a/tools/testing/selftests/powerpc/mm/wild_bctr.c
+++ b/tools/testing/selftests/powerpc/mm/wild_bctr.c
@@ -47,8 +47,9 @@ static int ok(void)
return 0;
}
-#define REG_POISON 0x5a5aUL
-#define POISONED_REG(n) ((REG_POISON << 48) | ((n) << 32) | (REG_POISON << 16) | (n))
+#define REG_POISON 0x5a5a
+#define POISONED_REG(n) ((((unsigned long)REG_POISON) << 48) | ((n) << 32) | \
+ (((unsigned long)REG_POISON) << 16) | (n))
static inline void poison_regs(void)
{