MIPS: futex: Restore \n after sync instructions
authorPaul Burton <paul.burton@mips.com>
Mon, 7 Oct 2019 19:58:44 +0000 (12:58 -0700)
committerPaul Burton <paul.burton@mips.com>
Mon, 7 Oct 2019 19:58:44 +0000 (12:58 -0700)
Commit 3c1d3f097972 ("MIPS: futex: Emit Loongson3 sync workarounds
within asm") inadvertently removed the newlines following
__WEAK_LLSC_MB, which causes build failures for configurations in which
__WEAK_LLSC_MB expands to a sync instruction:

  {standard input}: Assembler messages:
  {standard input}:9346: Error: symbol `sync3' is already defined
  {standard input}:9380: Error: symbol `sync3' is already defined
  ...

Fix this by restoring the newlines to separate the sync instruction from
anything following it (such as the 3: label), preventing inadvertent
concatenation.

Signed-off-by: Paul Burton <paul.burton@mips.com>
Fixes: 3c1d3f097972 ("MIPS: futex: Emit Loongson3 sync workarounds within asm")

arch/mips/include/asm/futex.h

index 54cf205..1102207 100644 (file)
@@ -33,7 +33,7 @@
                "       .set    arch=r4000                      \n"     \
                "2:     sc      $1, %2                          \n"     \
                "       beqzl   $1, 1b                          \n"     \
-               __stringify(__WEAK_LLSC_MB)                             \
+               __stringify(__WEAK_LLSC_MB) "                   \n"     \
                "3:                                             \n"     \
                "       .insn                                   \n"     \
                "       .set    pop                             \n"     \
@@ -63,7 +63,7 @@
                "       .set    "MIPS_ISA_ARCH_LEVEL"           \n"     \
                "2:     "user_sc("$1", "%2")"                   \n"     \
                "       beqz    $1, 1b                          \n"     \
-               __stringify(__WEAK_LLSC_MB)                             \
+               __stringify(__WEAK_LLSC_MB) "                   \n"     \
                "3:                                             \n"     \
                "       .insn                                   \n"     \
                "       .set    pop                             \n"     \
@@ -148,7 +148,7 @@ futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr,
                "       .set    arch=r4000                              \n"
                "2:     sc      $1, %2                                  \n"
                "       beqzl   $1, 1b                                  \n"
-               __stringify(__WEAK_LLSC_MB)
+               __stringify(__WEAK_LLSC_MB) "                           \n"
                "3:                                                     \n"
                "       .insn                                           \n"
                "       .set    pop                                     \n"