summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jürg Billeter <juerg.billeter@codethink.co.uk>2023-05-15 12:40:54 +0200
committerGravatar Jürg Billeter <juerg.billeter@codethink.co.uk>2023-05-24 09:27:14 +0200
commit44606a0df52c9aef879bbbd0567af571fe996329 (patch)
treeb3b62181aa0704c373ce8f21fb678088bc4f34fe
parentd23adc1cfba78931b4aa2edb81f10a39135d2d24 (diff)
absl/base: Fix build on AIX
The AIX assembler doesn't support numeric labels. Use a relative jump instead to fix Assembler: /tmp/ccw16WCt.s: line 25: Error In Syntax
-rw-r--r--absl/base/internal/unscaledcycleclock.cc3
1 files changed, 1 insertions, 2 deletions
diff --git a/absl/base/internal/unscaledcycleclock.cc b/absl/base/internal/unscaledcycleclock.cc
index b1c396c6..128dc52f 100644
--- a/absl/base/internal/unscaledcycleclock.cc
+++ b/absl/base/internal/unscaledcycleclock.cc
@@ -71,12 +71,11 @@ int64_t UnscaledCycleClock::Now() {
#else
int32_t tbu, tbl, tmp;
asm volatile(
- "0:\n"
"mftbu %[hi32]\n"
"mftb %[lo32]\n"
"mftbu %[tmp]\n"
"cmpw %[tmp],%[hi32]\n"
- "bne 0b\n"
+ "bne $-16\n" // retry on failure
: [ hi32 ] "=r"(tbu), [ lo32 ] "=r"(tbl), [ tmp ] "=r"(tmp));
return (static_cast<int64_t>(tbu) << 32) | tbl;
#endif