ramspeed: Make it compilable by fixing amd64 assember files.

This commit is contained in:
msaitoh 2024-02-21 12:50:22 +00:00
parent 221e3a15e1
commit 1ff4c311d5
9 changed files with 1531 additions and 1 deletions

View File

@ -1,6 +1,14 @@
$NetBSD: distinfo,v 1.5 2021/10/26 10:02:55 nia Exp $
$NetBSD: distinfo,v 1.6 2024/02/21 12:50:22 msaitoh Exp $
BLAKE2s (ramspeed-2.6.0.tar.gz) = 54c13e5b899842f435a074959470626dcb1dd69aa8c1de9b9de04c5c93f71b67
SHA512 (ramspeed-2.6.0.tar.gz) = 9866e5525e0a9df1ab6a0e92085addfed50a987fb335d9127835ca0fb890f7614ad51bec15b7148648bbce8b4709b4f45114a51585bf0e881be56402934abdc4
Size (ramspeed-2.6.0.tar.gz) = 77531 bytes
SHA1 (patch-aa) = 371133ddde45b40c21205b677cf5edcc714d277a
SHA1 (patch-amd64_fltmark.s) = b17d3dbe2c130569c69ced2538baa575609f5751
SHA1 (patch-amd64_fltmem.s) = b501d3931a8e3d6f1c363fd392b3cdb782966af9
SHA1 (patch-amd64_intmark.s) = d45b1d8b2fc9a08cc2792a565c5fb694cc08e00b
SHA1 (patch-amd64_intmem.s) = 40a1cf2ec9b95ad8e475f73d24d42a39732f0508
SHA1 (patch-amd64_mmxmark.s) = 6dcf8da36ff9c84b9a83860a1eb79de7ed4109d6
SHA1 (patch-amd64_mmxmem.s) = f978ae1409f62dadb714e13db37df8eb503a20a6
SHA1 (patch-amd64_ssemark.s) = 789538e1c540e4b29e9831864caf1a21a35fb8f9
SHA1 (patch-amd64_ssemem.s) = c7a8d47f89a2fc3e1966fe79825707553852cc77

View File

@ -0,0 +1,66 @@
$NetBSD: patch-amd64_fltmark.s,v 1.1 2024/02/21 12:50:22 msaitoh Exp $
AMD64: use PLT calls for PIC, as required by linker
https://github.com/cruvolo/ramspeed/commit/f3a766dc4f89cee97b5283d5c6bdf8b8e3474813
--- amd64/fltmark.s
+++ amd64/fltmark.s
@@ -27,12 +27,12 @@ floatwr:
movq %rsi, %rbp
/* allocate */
shlq $10, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* execute */
movq %rbx, %rcx
movq %r12, %rdi
@@ -180,10 +180,10 @@ floatwr:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free */
movq %r12, %rdi
- call free
+ call free@plt
/* calculate */
movq 16(%rsp), %rax
subq 0(%rsp), %rax
@@ -210,7 +210,7 @@ floatrd:
movq %rsi, %rbp
/* allocate */
shlq $10, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
/* prefill */
movq %rbx, %rcx
@@ -228,7 +228,7 @@ floatrd:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* execute */
movq %rbx, %rcx
movq %r12, %rdi
@@ -502,10 +502,10 @@ floatrd:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free */
movq %r12, %rdi
- call free
+ call free@plt
/* calculate */
movq 16(%rsp), %rax
subq 0(%rsp), %rax

View File

@ -0,0 +1,185 @@
$NetBSD: patch-amd64_fltmem.s,v 1.1 2024/02/21 12:50:22 msaitoh Exp $
AMD64: use PLT calls for PIC, as required by linker
https://github.com/cruvolo/ramspeed/commit/f3a766dc4f89cee97b5283d5c6bdf8b8e3474813
--- amd64/fltmem.s
+++ amd64/fltmem.s
@@ -29,11 +29,11 @@ floatcp:
shlq $10, %rbx
/* allocate */
movq %rbx, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
/* allocate */
movq %rbx, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r13
/* prefill */
movq %rbx, %rcx
@@ -52,7 +52,7 @@ floatcp:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* execute */
shrq $8, %rbx
movq %rbx, %rcx
@@ -138,13 +138,13 @@ floatcp:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free */
movq %r13, %rdi
- call free
+ call free@plt
/* free */
movq %r12, %rdi
- call free
+ call free@plt
/* calculate */
movq 16(%rsp), %rax
subq 0(%rsp), %rax
@@ -174,11 +174,11 @@ floatsc:
shlq $10, %rbx
/* allocate */
movq %rbx, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
/* allocate */
movq %rbx, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r13
/* prefill */
movq %rbx, %rcx
@@ -197,7 +197,7 @@ floatsc:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* execute */
shrq $8, %rbx
movq %rbx, %rcx
@@ -316,13 +316,13 @@ floatsc:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free */
movq %r13, %rdi
- call free
+ call free@plt
/* free */
movq %r12, %rdi
- call free
+ call free@plt
/* calculate */
movq 16(%rsp), %rax
subq 0(%rsp), %rax
@@ -354,15 +354,15 @@ floatad:
shlq $10, %rbx
/* allocate */
movq %rbx, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
/* allocate */
movq %rbx, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r13
/* allocate */
movq %rbx, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r14
/* prefill */
movq %rbx, %rcx
@@ -387,7 +387,7 @@ floatad:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* execute */
shrq $8, %rbx
movq %rbx, %rcx
@@ -508,16 +508,16 @@ floatad:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free */
movq %r14, %rdi
- call free
+ call free@plt
/* free */
movq %r13, %rdi
- call free
+ call free@plt
/* free */
movq %r12, %rdi
- call free
+ call free@plt
/* calculate */
movq 16(%rsp), %rax
subq 0(%rsp), %rax
@@ -551,15 +551,15 @@ floattr:
shlq $10, %rbx
/* allocate */
movq %rbx, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
/* allocate */
movq %rbx, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r13
/* allocate */
movq %rbx, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r14
/* prefill */
movq %rbx, %rcx
@@ -584,7 +584,7 @@ floattr:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* execute */
shrq $8, %rbx
movq %rbx, %rcx
@@ -738,16 +738,16 @@ floattr:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free */
movq %r14, %rdi
- call free
+ call free@plt
/* free */
movq %r13, %rdi
- call free
+ call free@plt
/* free */
movq %r12, %rdi
- call free
+ call free@plt
/* calculate */
movq 16(%rsp), %rax
subq 0(%rsp), %rax

View File

@ -0,0 +1,66 @@
$NetBSD: patch-amd64_intmark.s,v 1.1 2024/02/21 12:50:22 msaitoh Exp $
AMD64: use PLT calls for PIC, as required by linker
https://github.com/cruvolo/ramspeed/commit/f3a766dc4f89cee97b5283d5c6bdf8b8e3474813
--- amd64/intmark.s
+++ amd64/intmark.s
@@ -27,12 +27,12 @@ intwr:
movq %rsi, %rbp
/* allocate */
shlq $10, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* execute */
movq %rbx, %rcx
movq %r12, %rdi
@@ -179,10 +179,10 @@ intwr:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free */
movq %r12, %rdi
- call free
+ call free@plt
/* calculate */
movq 16(%rsp), %rax
subq 0(%rsp), %rax
@@ -211,7 +211,7 @@ intrd:
movq %rsi, %rbp
/* allocate */
shlq $10, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
/* prefill */
movq %rbx, %rcx
@@ -227,7 +227,7 @@ intrd:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* execute */
movq %rbx, %rcx
movq %r12, %rdi
@@ -373,10 +373,10 @@ intrd:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free */
movq %r12, %rdi
- call free
+ call free@plt
/* calculate */
movq 16(%rsp), %rax
subq 0(%rsp), %rax

View File

@ -0,0 +1,185 @@
$NetBSD: patch-amd64_intmem.s,v 1.1 2024/02/21 12:50:22 msaitoh Exp $
AMD64: use PLT calls for PIC, as required by linker
https://github.com/cruvolo/ramspeed/commit/f3a766dc4f89cee97b5283d5c6bdf8b8e3474813
--- amd64/intmem.s
+++ amd64/intmem.s
@@ -31,11 +31,11 @@ intcp:
shlq $10, %rbx
/* allocate */
movq %rbx, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
/* allocate */
movq %rbx, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r13
/* prefill */
movq %rbx, %rcx
@@ -52,7 +52,7 @@ intcp:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* execute */
shrq $8, %rbx
movq %rbx, %rcx
@@ -137,13 +137,13 @@ intcp:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free */
movq %r13, %rdi
- call free
+ call free@plt
/* free */
movq %r12, %rdi
- call free
+ call free@plt
/* calculate */
movq 16(%rsp), %rax
subq 0(%rsp), %rax
@@ -177,11 +177,11 @@ intsc:
shlq $10, %rbx
/* allocate */
movq %rbx, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
/* allocate */
movq %rbx, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r13
/* prefill */
movq %rbx, %rcx
@@ -198,7 +198,7 @@ intsc:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* execute */
shrq $8, %rbx
movq %rbx, %rcx
@@ -283,13 +283,13 @@ intsc:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free */
movq %r13, %rdi
- call free
+ call free@plt
/* free */
movq %r12, %rdi
- call free
+ call free@plt
/* calculate */
movq 16(%rsp), %rax
subq 0(%rsp), %rax
@@ -323,15 +323,15 @@ intad:
shlq $10, %rbx
/* allocate */
movq %rbx, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
/* allocate */
movq %rbx, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r13
/* allocate */
movq %rbx, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r14
/* prefill */
movq %rbx, %rcx
@@ -355,7 +355,7 @@ intad:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* execute */
shrq $8, %rbx
movq %rbx, %rcx
@@ -475,16 +475,16 @@ intad:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free */
movq %r14, %rdi
- call free
+ call free@plt
/* free */
movq %r13, %rdi
- call free
+ call free@plt
/* free */
movq %r12, %rdi
- call free
+ call free@plt
/* calculate */
movq 16(%rsp), %rax
subq 0(%rsp), %rax
@@ -518,15 +518,15 @@ inttr:
shlq $10, %rbx
/* allocate */
movq %rbx, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
/* allocate */
movq %rbx, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r13
/* allocate */
movq %rbx, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r14
/* prefill */
movq %rbx, %rcx
@@ -550,7 +550,7 @@ inttr:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* execute */
shrq $8, %rbx
movq %rbx, %rcx
@@ -670,16 +670,16 @@ inttr:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free */
movq %r14, %rdi
- call free
+ call free@plt
/* free */
movq %r13, %rdi
- call free
+ call free@plt
/* free */
movq %r12, %rdi
- call free
+ call free@plt
/* calculate */
movq 16(%rsp), %rax
subq 0(%rsp), %rax

View File

@ -0,0 +1,131 @@
$NetBSD: patch-amd64_mmxmark.s,v 1.1 2024/02/21 12:50:22 msaitoh Exp $
AMD64: use PLT calls for PIC, as required by linker
https://github.com/cruvolo/ramspeed/commit/f3a766dc4f89cee97b5283d5c6bdf8b8e3474813
--- amd64/mmxmark.s
+++ amd64/mmxmark.s
@@ -31,7 +31,7 @@ mmxwr:
movq $0x0000000000001000, %r15
movq %rbx, %rdi
addq %r15, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
addq %r15, %r12
andq $0xFFFFFFFFFFFFF000, %r12
@@ -39,7 +39,7 @@ mmxwr:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* execute */
shrq $9, %rbx
movq %rbx, %rcx
@@ -123,10 +123,10 @@ mmxwr:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free memory */
movq %r15, %rdi
- call free
+ call free@plt
/* time calculation (in microseconds) */
movq 16(%rsp), %rax
subq 0(%rsp), %rax
@@ -159,7 +159,7 @@ mmxrd:
movq $0x0000000000001000, %r15
movq %rbx, %rdi
addq %r15, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
addq %r15, %r12
andq $0xFFFFFFFFFFFFF000, %r12
@@ -183,7 +183,7 @@ mmxrd:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* execute */
shrq $9, %rbx
movq %rbx, %rcx
@@ -266,10 +266,10 @@ mmxrd:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free memory */
movq %r15, %rdi
- call free
+ call free@plt
/* time calculation (in microseconds) */
movq 16(%rsp), %rax
subq 0(%rsp), %rax
@@ -302,7 +302,7 @@ mmxwr_nt:
movq $0x0000000000001000, %r15
movq %rbx, %rdi
addq %r15, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
addq %r15, %r12
andq $0xFFFFFFFFFFFFF000, %r12
@@ -310,7 +310,7 @@ mmxwr_nt:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* execute */
shrq $9, %rbx
movq %rbx, %rcx
@@ -394,10 +394,10 @@ mmxwr_nt:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free memory */
movq %r15, %rdi
- call free
+ call free@plt
/* time calculation (in microseconds) */
movq 16(%rsp), %rax
subq 0(%rsp), %rax
@@ -430,7 +430,7 @@ mmxrd_nt:
movq $0x0000000000001000, %r15
movq %rbx, %rdi
addq %r15, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
addq %r15, %r12
andq $0xFFFFFFFFFFFFF000, %r12
@@ -454,7 +454,7 @@ mmxrd_nt:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* execute */
shrq $9, %rbx
decq %rbx
@@ -614,10 +614,10 @@ mmxrd_nt:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free memory */
movq %r15, %rdi
- call free
+ call free@plt
/* time calculation (in microseconds) */
movq 16(%rsp), %rax
subq 0(%rsp), %rax

View File

@ -0,0 +1,379 @@
$NetBSD: patch-amd64_mmxmem.s,v 1.1 2024/02/21 12:50:22 msaitoh Exp $
AMD64: use PLT calls for PIC, as required by linker
https://github.com/cruvolo/ramspeed/commit/f3a766dc4f89cee97b5283d5c6bdf8b8e3474813
--- amd64/mmxmem.s
+++ amd64/mmxmem.s
@@ -33,7 +33,7 @@ mmxcp:
movq %rbx, %rdi
addq %rbx, %rdi
addq %r15, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
addq %r15, %r12
andq $0xFFFFFFFFFFFFF000, %r12
@@ -59,7 +59,7 @@ mmxcp:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* execute */
shrq $8, %rbx
movq %rbx, %rcx
@@ -145,10 +145,10 @@ mmxcp:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free memory */
movq %r15, %rdi
- call free
+ call free@plt
/* time calculation (in microseconds) */
movq 16(%rsp), %rax
subq 0(%rsp), %rax
@@ -184,7 +184,7 @@ mmxsc:
movq %rbx, %rdi
addq %rbx, %rdi
addq %r15, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
addq %r15, %r12
andq $0xFFFFFFFFFFFFF000, %r12
@@ -210,7 +210,7 @@ mmxsc:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* create the multiplier */
movw $77, 16(%rsp)
movw $77, 18(%rsp)
@@ -334,10 +334,10 @@ mmxsc:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free memory */
movq %r15, %rdi
- call free
+ call free@plt
/* time calculation (in microseconds) */
movq 16(%rsp), %rax
subq 0(%rsp), %rax
@@ -375,7 +375,7 @@ mmxad:
addq %rbx, %rdi
addq %rbx, %rdi
addq %r15, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
addq %r15, %r12
andq $0xFFFFFFFFFFFFF000, %r12
@@ -414,7 +414,7 @@ mmxad:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* execute */
shrq $8, %rbx
movq %rbx, %rcx
@@ -535,10 +535,10 @@ mmxad:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free memory */
movq %r15, %rdi
- call free
+ call free@plt
/* time calculation (in microseconds) */
movq 16(%rsp), %rax
subq 0(%rsp), %rax
@@ -577,7 +577,7 @@ mmxtr:
addq %rbx, %rdi
addq %rbx, %rdi
addq %r15, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
addq %r15, %r12
andq $0xFFFFFFFFFFFFF000, %r12
@@ -616,7 +616,7 @@ mmxtr:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* create the multiplier */
movw $77, 16(%rsp)
movw $77, 18(%rsp)
@@ -775,10 +775,10 @@ mmxtr:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free memory */
movq %r15, %rdi
- call free
+ call free@plt
/* time calculation (in microseconds) */
movq 16(%rsp), %rax
subq 0(%rsp), %rax
@@ -815,7 +815,7 @@ mmxcp_nt:
movq %rbx, %rdi
addq %rbx, %rdi
addq %r15, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
addq %r15, %r12
andq $0xFFFFFFFFFFFFF000, %r12
@@ -841,7 +841,7 @@ mmxcp_nt:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* execute */
shrq $9, %rbx
decq %rbx
@@ -1002,10 +1002,10 @@ mmxcp_nt:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free memory */
movq %r15, %rdi
- call free
+ call free@plt
/* time calculation (in microseconds) */
movq 16(%rsp), %rax
subq 0(%rsp), %rax
@@ -1041,7 +1041,7 @@ mmxsc_nt:
movq %rbx, %rdi
addq %rbx, %rdi
addq %r15, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
addq %r15, %r12
andq $0xFFFFFFFFFFFFF000, %r12
@@ -1067,7 +1067,7 @@ mmxsc_nt:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* create the multiplier */
movw $77, 16(%rsp)
movw $77, 18(%rsp)
@@ -1298,10 +1298,10 @@ mmxsc_nt:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free memory */
movq %r15, %rdi
- call free
+ call free@plt
/* time calculation (in microseconds) */
movq 16(%rsp), %rax
subq 0(%rsp), %rax
@@ -1339,7 +1339,7 @@ mmxad_nt:
addq %rbx, %rdi
addq %rbx, %rdi
addq %r15, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
addq %r15, %r12
andq $0xFFFFFFFFFFFFF000, %r12
@@ -1378,7 +1378,7 @@ mmxad_nt:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* execute */
shrq $9, %rbx
decq %rbx
@@ -1614,10 +1614,10 @@ mmxad_nt:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free memory */
movq %r15, %rdi
- call free
+ call free@plt
/* time calculation (in microseconds) */
movq 16(%rsp), %rax
subq 0(%rsp), %rax
@@ -1656,7 +1656,7 @@ mmxtr_nt:
addq %rbx, %rdi
addq %rbx, %rdi
addq %r15, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
addq %r15, %r12
andq $0xFFFFFFFFFFFFF000, %r12
@@ -1695,7 +1695,7 @@ mmxtr_nt:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* create the multiplier */
movw $77, 16(%rsp)
movw $77, 18(%rsp)
@@ -2001,10 +2001,10 @@ mmxtr_nt:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free memory */
movq %r15, %rdi
- call free
+ call free@plt
/* time calculation (in microseconds) */
movq 16(%rsp), %rax
subq 0(%rsp), %rax
@@ -2041,7 +2041,7 @@ mmxcp_nt_t0:
movq %rbx, %rdi
addq %rbx, %rdi
addq %r15, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
addq %r15, %r12
andq $0xFFFFFFFFFFFFF000, %r12
@@ -2067,7 +2067,7 @@ mmxcp_nt_t0:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* execute */
shrq $9, %rbx
decq %rbx
@@ -2228,10 +2228,10 @@ mmxcp_nt_t0:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free memory */
movq %r15, %rdi
- call free
+ call free@plt
/* time calculation (in microseconds) */
movq 16(%rsp), %rax
subq 0(%rsp), %rax
@@ -2267,7 +2267,7 @@ mmxsc_nt_t0:
movq %rbx, %rdi
addq %rbx, %rdi
addq %r15, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
addq %r15, %r12
andq $0xFFFFFFFFFFFFF000, %r12
@@ -2293,7 +2293,7 @@ mmxsc_nt_t0:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* create the multiplier */
movw $77, 16(%rsp)
movw $77, 18(%rsp)
@@ -2524,10 +2524,10 @@ mmxsc_nt_t0:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free memory */
movq %r15, %rdi
- call free
+ call free@plt
/* time calculation (in microseconds) */
movq 16(%rsp), %rax
subq 0(%rsp), %rax
@@ -2565,7 +2565,7 @@ mmxad_nt_t0:
addq %rbx, %rdi
addq %rbx, %rdi
addq %r15, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
addq %r15, %r12
andq $0xFFFFFFFFFFFFF000, %r12
@@ -2604,7 +2604,7 @@ mmxad_nt_t0:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* execute */
shrq $9, %rbx
decq %rbx
@@ -2840,10 +2840,10 @@ mmxad_nt_t0:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free memory */
movq %r15, %rdi
- call free
+ call free@plt
/* time calculation (in microseconds) */
movq 16(%rsp), %rax
subq 0(%rsp), %rax
@@ -2882,7 +2882,7 @@ mmxtr_nt_t0:
addq %rbx, %rdi
addq %rbx, %rdi
addq %r15, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
addq %r15, %r12
andq $0xFFFFFFFFFFFFF000, %r12
@@ -2921,7 +2921,7 @@ mmxtr_nt_t0:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* create the multiplier */
movw $77, 16(%rsp)
movw $77, 18(%rsp)
@@ -3227,10 +3227,10 @@ mmxtr_nt_t0:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free memory */
movq %r15, %rdi
- call free
+ call free@plt
/* time calculation (in microseconds) */
movq 16(%rsp), %rax
subq 0(%rsp), %rax

View File

@ -0,0 +1,131 @@
$NetBSD: patch-amd64_ssemark.s,v 1.1 2024/02/21 12:50:22 msaitoh Exp $
AMD64: use PLT calls for PIC, as required by linker
https://github.com/cruvolo/ramspeed/commit/f3a766dc4f89cee97b5283d5c6bdf8b8e3474813
--- amd64/ssemark.s
+++ amd64/ssemark.s
@@ -31,7 +31,7 @@ ssewr:
movq $0x0000000000001000, %r15
movq %rbx, %rdi
addq %r15, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
addq %r15, %r12
andq $0xFFFFFFFFFFFFF000, %r12
@@ -39,7 +39,7 @@ ssewr:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* execute */
shrq $9, %rbx
movq %rbx, %rcx
@@ -91,10 +91,10 @@ ssewr:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free memory */
movq %r15, %rdi
- call free
+ call free@plt
/* time calculation (in microseconds) */
movq 16(%rsp), %rax
subq 0(%rsp), %rax
@@ -126,7 +126,7 @@ sserd:
movq $0x0000000000001000, %r15
movq %rbx, %rdi
addq %r15, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
addq %r15, %r12
andq $0xFFFFFFFFFFFFF000, %r12
@@ -150,7 +150,7 @@ sserd:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* execute */
shrq $9, %rbx
movq %rbx, %rcx
@@ -201,10 +201,10 @@ sserd:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free memory */
movq %r15, %rdi
- call free
+ call free@plt
/* time calculation (in microseconds) */
movq 16(%rsp), %rax
subq 0(%rsp), %rax
@@ -236,7 +236,7 @@ ssewr_nt:
movq $0x0000000000001000, %r15
movq %rbx, %rdi
addq %r15, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
addq %r15, %r12
andq $0xFFFFFFFFFFFFF000, %r12
@@ -244,7 +244,7 @@ ssewr_nt:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* execute */
shrq $9, %rbx
movq %rbx, %rcx
@@ -296,10 +296,10 @@ ssewr_nt:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free memory */
movq %r15, %rdi
- call free
+ call free@plt
/* time calculation (in microseconds) */
movq 16(%rsp), %rax
subq 0(%rsp), %rax
@@ -331,7 +331,7 @@ sserd_nt:
movq $0x0000000000001000, %r15
movq %rbx, %rdi
addq %r15, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
addq %r15, %r12
andq $0xFFFFFFFFFFFFF000, %r12
@@ -355,7 +355,7 @@ sserd_nt:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* execute */
shrq $9, %rbx
decq %rbx
@@ -451,10 +451,10 @@ sserd_nt:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free memory */
movq %r15, %rdi
- call free
+ call free@plt
/* time calculation (in microseconds) */
movq 16(%rsp), %rax
subq 0(%rsp), %rax

View File

@ -0,0 +1,379 @@
$NetBSD: patch-amd64_ssemem.s,v 1.1 2024/02/21 12:50:22 msaitoh Exp $
AMD64: use PLT calls for PIC, as required by linker
https://github.com/cruvolo/ramspeed/commit/f3a766dc4f89cee97b5283d5c6bdf8b8e3474813
--- amd64/ssemem.s
+++ amd64/ssemem.s
@@ -33,7 +33,7 @@ ssecp:
movq %rbx, %rdi
addq %rbx, %rdi
addq %r15, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
addq %r15, %r12
andq $0xFFFFFFFFFFFFF000, %r12
@@ -69,7 +69,7 @@ ssecp:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* execute */
shrq $9, %rbx
movq %rbx, %rcx
@@ -155,10 +155,10 @@ ssecp:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free memory */
movq %r15, %rdi
- call free
+ call free@plt
/* time calculation (in microseconds) */
movq 16(%rsp), %rax
subq 0(%rsp), %rax
@@ -193,7 +193,7 @@ ssesc:
movq %rbx, %rdi
addq %rbx, %rdi
addq %r15, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
addq %r15, %r12
andq $0xFFFFFFFFFFFFF000, %r12
@@ -229,7 +229,7 @@ ssesc:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* create the multiplier */
fldln2
fst 16(%rsp)
@@ -354,10 +354,10 @@ ssesc:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free memory */
movq %r15, %rdi
- call free
+ call free@plt
/* time calculation (in microseconds) */
movq 16(%rsp), %rax
subq 0(%rsp), %rax
@@ -394,7 +394,7 @@ ssead:
addq %rbx, %rdi
addq %rbx, %rdi
addq %r15, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
addq %r15, %r12
andq $0xFFFFFFFFFFFFF000, %r12
@@ -433,7 +433,7 @@ ssead:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* execute */
shrq $9, %rbx
movq %rbx, %rcx
@@ -554,10 +554,10 @@ ssead:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free memory */
movq %r15, %rdi
- call free
+ call free@plt
/* time calculation (in microseconds) */
movq 16(%rsp), %rax
subq 0(%rsp), %rax
@@ -595,7 +595,7 @@ ssetr:
addq %rbx, %rdi
addq %rbx, %rdi
addq %r15, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
addq %r15, %r12
andq $0xFFFFFFFFFFFFF000, %r12
@@ -634,7 +634,7 @@ ssetr:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* create the multiplier */
fldln2
fst 16(%rsp)
@@ -794,10 +794,10 @@ ssetr:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free memory */
movq %r15, %rdi
- call free
+ call free@plt
/* time calculation (in microseconds) */
movq 16(%rsp), %rax
subq 0(%rsp), %rax
@@ -833,7 +833,7 @@ ssecp_nt:
movq %rbx, %rdi
addq %rbx, %rdi
addq %r15, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
addq %r15, %r12
andq $0xFFFFFFFFFFFFF000, %r12
@@ -869,7 +869,7 @@ ssecp_nt:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* execute */
shrq $10, %rbx
movq %rbx, %rcx
@@ -1037,10 +1037,10 @@ ssecp_nt:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free memory */
movq %r15, %rdi
- call free
+ call free@plt
/* time calculation (in microseconds) */
movq 16(%rsp), %rax
subq 0(%rsp), %rax
@@ -1075,7 +1075,7 @@ ssesc_nt:
movq %rbx, %rdi
addq %rbx, %rdi
addq %r15, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
addq %r15, %r12
andq $0xFFFFFFFFFFFFF000, %r12
@@ -1111,7 +1111,7 @@ ssesc_nt:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* create the multiplier */
fldln2
fst 16(%rsp)
@@ -1350,10 +1350,10 @@ ssesc_nt:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free memory */
movq %r15, %rdi
- call free
+ call free@plt
/* time calculation (in microseconds) */
movq 16(%rsp), %rax
subq 0(%rsp), %rax
@@ -1390,7 +1390,7 @@ ssead_nt:
addq %rbx, %rdi
addq %rbx, %rdi
addq %r15, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
addq %r15, %r12
andq $0xFFFFFFFFFFFFF000, %r12
@@ -1429,7 +1429,7 @@ ssead_nt:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* execute */
shrq $10, %rbx
movq %rbx, %rcx
@@ -1680,10 +1680,10 @@ ssead_nt:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free memory */
movq %r15, %rdi
- call free
+ call free@plt
/* time calculation (in microseconds) */
movq 16(%rsp), %rax
subq 0(%rsp), %rax
@@ -1721,7 +1721,7 @@ ssetr_nt:
addq %rbx, %rdi
addq %rbx, %rdi
addq %r15, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
addq %r15, %r12
andq $0xFFFFFFFFFFFFF000, %r12
@@ -1760,7 +1760,7 @@ ssetr_nt:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* create the multiplier */
fldln2
fst 16(%rsp)
@@ -2082,10 +2082,10 @@ ssetr_nt:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free memory */
movq %r15, %rdi
- call free
+ call free@plt
/* time calculation (in microseconds) */
movq 16(%rsp), %rax
subq 0(%rsp), %rax
@@ -2122,7 +2122,7 @@ ssecp_nt_t0:
movq %rbx, %rdi
addq %rbx, %rdi
addq %r15, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
addq %r15, %r12
andq $0xFFFFFFFFFFFFF000, %r12
@@ -2158,7 +2158,7 @@ ssecp_nt_t0:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* execute */
shrq $10, %rbx
movq %rbx, %rcx
@@ -2326,10 +2326,10 @@ ssecp_nt_t0:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free memory */
movq %r15, %rdi
- call free
+ call free@plt
/* time calculation (in microseconds) */
movq 16(%rsp), %rax
subq 0(%rsp), %rax
@@ -2364,7 +2364,7 @@ ssesc_nt_t0:
movq %rbx, %rdi
addq %rbx, %rdi
addq %r15, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
addq %r15, %r12
andq $0xFFFFFFFFFFFFF000, %r12
@@ -2400,7 +2400,7 @@ ssesc_nt_t0:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* create the multiplier */
fldln2
fst 16(%rsp)
@@ -2639,10 +2639,10 @@ ssesc_nt_t0:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free memory */
movq %r15, %rdi
- call free
+ call free@plt
/* time calculation (in microseconds) */
movq 16(%rsp), %rax
subq 0(%rsp), %rax
@@ -2679,7 +2679,7 @@ ssead_nt_t0:
addq %rbx, %rdi
addq %rbx, %rdi
addq %r15, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
addq %r15, %r12
andq $0xFFFFFFFFFFFFF000, %r12
@@ -2718,7 +2718,7 @@ ssead_nt_t0:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* execute */
shrq $10, %rbx
movq %rbx, %rcx
@@ -2969,10 +2969,10 @@ ssead_nt_t0:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free memory */
movq %r15, %rdi
- call free
+ call free@plt
/* time calculation (in microseconds) */
movq 16(%rsp), %rax
subq 0(%rsp), %rax
@@ -3010,7 +3010,7 @@ ssetr_nt_t0:
addq %rbx, %rdi
addq %rbx, %rdi
addq %r15, %rdi
- call malloc
+ call malloc@plt
movq %rax, %r12
addq %r15, %r12
andq $0xFFFFFFFFFFFFF000, %r12
@@ -3049,7 +3049,7 @@ ssetr_nt_t0:
/* wall time (start) */
leaq 0(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* create the multiplier */
fldln2
fst 16(%rsp)
@@ -3371,10 +3371,10 @@ ssetr_nt_t0:
/* wall time (finish) */
leaq 16(%rsp), %rdi
xorq %rsi, %rsi
- call gettimeofday
+ call gettimeofday@plt
/* free memory */
movq %r15, %rdi
- call free
+ call free@plt
/* time calculation (in microseconds) */
movq 16(%rsp), %rax
subq 0(%rsp), %rax