about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorTheofilos Augoustis <theofilos.augoustis@tum.de>2025-06-12 09:59:21 +0000
committerTheofilos Augoustis <theofilos.augoustis@tum.de>2025-06-12 09:59:21 +0000
commit0fcd3682d0e1d4e8e7811b00e62f825de0da3c75 (patch)
treef8044db11a22f69dab2ccf3807b6ca329e135c35
parent72d0b2e0043123fa680141dec2f60c96d5ecbcd3 (diff)
downloadfocaccia-0fcd3682d0e1d4e8e7811b00e62f825de0da3c75.tar.gz
focaccia-0fcd3682d0e1d4e8e7811b00e62f825de0da3c75.zip
Include reproducer for 508 (and generalize gitignore)
-rw-r--r--.gitignore4
-rw-r--r--reproducers/issue-508.c13
2 files changed, 15 insertions, 2 deletions
diff --git a/.gitignore b/.gitignore
index ff25b53..29bd485 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,8 +14,8 @@ __pycache__/
 .gdbinit
 
 # Focaccia files
-qemu.sym
-qemu.trace
+*.sym
+*.trace
 
 # Nix
 result
diff --git a/reproducers/issue-508.c b/reproducers/issue-508.c
new file mode 100644
index 0000000..e143183
--- /dev/null
+++ b/reproducers/issue-508.c
@@ -0,0 +1,13 @@
+#include <stdio.h>
+
+int main() {
+  int mem = 0x12345678;
+  register long rax asm("rax") = 0x1234567812345678;
+  register int edi asm("edi") = 0x77777777;
+  asm("cmpxchg %[edi],%[mem]"
+      : [ mem ] "+m"(mem), [ rax ] "+r"(rax)
+      : [ edi ] "r"(edi));
+  long rax2 = rax;
+  printf("rax2 = %lx\n", rax2);
+}
+