Comment 18 for bug 2024003

Revision history for this message
Robert Palm (r-p-x) wrote :

I cannot express how thankful I am.

Tried several things in this config files but I do not know enough to find this.

How did you manage to find out? How did you debug this?

Many thanks!!!!

---------------------------
ws-4# uname -a
OpenBSD ws-4.my.domain 7.3 GENERIC.MP#2164 arm64
ws-4# sbcl
This is SBCL 2.3.5.138-8c5f7ec57-WIP, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses. See the CREDITS and COPYING files in the
distribution for more information.
* (machine-instance)
"ws-4.my.domain"
* (machine-type)
"ARM64"
* (machine-version)
"ARM Neoverse N1 r3p1"
* (software-type)
"OpenBSD"
* (software-version)
"7.3"
-----------------------------

Here is my git diff:

-----------------------------
diff --git a/cross-make.sh b/cross-make.sh
index 370c9a12e..ba57df215 100755
--- a/cross-make.sh
+++ b/cross-make.sh
@@ -53,7 +53,7 @@ mv build-id.inc output
 sh make-host-1.sh
 # workaround small amounts of clock skew by using --touch on the extraction
 # You'll probably have to remove the --touch when building for SunOS
-tar cf - src/runtime/genesis | ssh $ssh_port_opt $host cd $root \; tar xf - --touch
+tar cf - src/runtime/genesis | ssh $ssh_port_opt $host cd $root \; tar xf -

 # make-target-1 and copy back the artifacts
 ssh $ssh_port_opt $host cd $root \; $ENV sh make-target-1.sh
diff --git a/src/runtime/Config.arm64-openbsd b/src/runtime/Config.arm64-openbsd
index 929d8a627..9a91ca0cf 100644
--- a/src/runtime/Config.arm64-openbsd
+++ b/src/runtime/Config.arm64-openbsd
@@ -12,4 +12,4 @@
 include Config.arm64-bsd
 include Config.generic-openbsd

-LINKFLAGS += -Wl,--export-dynamic
+LINKFLAGS += -Wl,--export-dynamic -Wl,--no-execute-only
-----------------------------

I would say now it is possible to extend the OpenBSD port to the ARM64 arch.

There are some more (existing) patches in the OpenBSD port but maybe those are outdated?

One thing I still wonder about is the --touch option. Is it really needed ? And I don't understand why the equivalent (?) -m Option doesn't work.

Super cool :-)