summaryrefslogtreecommitdiff
path: root/net/drawterm/files/patch-posix-power_tas.c
diff options
context:
space:
mode:
authorPiotr Kubaj <pkubaj@FreeBSD.org>2024-01-26 18:56:18 +0100
committerPiotr Kubaj <pkubaj@FreeBSD.org>2024-01-28 03:32:04 +0100
commit51624c4902617da5d2dee11b390ada2fd61e25b3 (patch)
tree86edfedc75d6d791e1d9f9110334192a08fbb6b4 /net/drawterm/files/patch-posix-power_tas.c
parentsysutils/rust-coreutils: update to 0.0.24 (diff)
net/drawterm: fix build on powerpc*
arch=`uname -m|sed 's/i.86/386/;s/Power Macintosh/power/; s/x86_64/amd64/'`; (cd posix-$arch && make) cd: posix-powerpc: No such file or directory *** Error code 2
Diffstat (limited to 'net/drawterm/files/patch-posix-power_tas.c')
-rw-r--r--net/drawterm/files/patch-posix-power_tas.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/net/drawterm/files/patch-posix-power_tas.c b/net/drawterm/files/patch-posix-power_tas.c
new file mode 100644
index 000000000000..cb51c07bec77
--- /dev/null
+++ b/net/drawterm/files/patch-posix-power_tas.c
@@ -0,0 +1,27 @@
+--- posix-power/tas.c.orig 2024-01-26 17:52:14 UTC
++++ posix-power/tas.c
+@@ -15,16 +15,16 @@ tas(int *x)
+ * r4 (x) and r5 (temp).
+ */
+ __asm__("\n sync\n"
+- " li r0,0\n"
+- " mr r4,%1 /* &l->val */\n"
+- " lis r5,0xdead /* assemble constant 0xdeaddead */\n"
+- " ori r5,r5,0xdead /* \" */\n"
++ " li 0,0\n"
++ " mr 4,%1 /* &l->val */\n"
++ " lis 5,0xdead /* assemble constant 0xdeaddead */\n"
++ " ori 5,5,0xdead /* \" */\n"
+ "tas1:\n"
+- " dcbf r4,r0 /* cache flush; \"fix for 603x bug\" */\n"
+- " lwarx %0,r4,r0 /* v = l->val with reservation */\n"
+- " cmp cr0,0,%0,r0 /* v == 0 */\n"
++ " dcbf 4,0 /* cache flush; \"fix for 603x bug\" */\n"
++ " lwarx %0,4,0 /* v = l->val with reservation */\n"
++ " cmp cr0,0,%0,0 /* v == 0 */\n"
+ " bne tas0\n"
+- " stwcx. r5,r4,r0 /* if (l->val same) l->val = 0xdeaddead */\n"
++ " stwcx. 5,4,0 /* if (l->val same) l->val = 0xdeaddead */\n"
+ " bne tas1\n"
+ "tas0:\n"
+ " sync\n"