From: Petar Jovanovic Date: Mon, 25 Mar 2019 18:53:21 +0000 (+0100) Subject: mips: use local labels for do_acasW() X-Git-Tag: VALGRIND_3_15_0~36 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d6da48fe5ac2e94fe28184ff334cd6b2283ef9a6;p=thirdparty%2Fvalgrind.git mips: use local labels for do_acasW() use local labels for do_acasW() to avoid defining symbols multiple times when the function gets inlined. It fixes assembler error reported in KDE #400164. --- diff --git a/helgrind/tests/annotate_hbefore.c b/helgrind/tests/annotate_hbefore.c index e311714f76..71590d03a5 100644 --- a/helgrind/tests/annotate_hbefore.c +++ b/helgrind/tests/annotate_hbefore.c @@ -234,15 +234,15 @@ UWord do_acasW ( UWord* addr, UWord expected, UWord nyu ) "lw $t2, 8(%1)" "\n\t" "lw $t3, 4(%1)" "\n\t" "ll $t1, 0($t0)" "\n\t" - "bne $t1, $t2, exit_0" "\n\t" + "bne $t1, $t2, 1f" "\n\t" "nop" "\n\t" "sc $t3, 0($t0)" "\n\t" "move %0, $t3" "\n\t" - "b exit" "\n\t" + "b 2f" "\n\t" "nop" "\n\t" - "exit_0:" "\n\t" + "1:" "\n\t" "move %0, $zero" "\n\t" - "exit:" "\n\t" + "2:" "\n\t" : /*out*/ "=r"(success) : /*in*/ "r"(&block[0]) : /*trash*/ "t0", "t1", "t2", "t3", "memory" @@ -267,15 +267,15 @@ UWord do_acasW ( UWord* addr, UWord expected, UWord nyu ) "ld $t2, 16(%1)" "\n\t" "ld $t3, 8(%1)" "\n\t" "ll $t1, 0($t0)" "\n\t" - "bne $t1, $t2, exit_0" "\n\t" + "bne $t1, $t2, 1f" "\n\t" "nop" "\n\t" "sc $t3, 0($t0)" "\n\t" "move %0, $t3" "\n\t" - "b exit" "\n\t" + "b 2f" "\n\t" "nop" "\n\t" - "exit_0:" "\n\t" + "1:" "\n\t" "move %0, $zero" "\n\t" - "exit:" "\n\t" + "2:" "\n\t" : /*out*/ "=r"(success) : /*in*/ "r"(&block[0]) : /*trash*/ "t0", "t1", "t2", "t3", "memory"