sbcl: fix build on x86_64

This commit is contained in:
Jerome Duval
2021-11-25 21:15:23 +01:00
parent 2e3bf75c2c
commit bb6b3adf7d
2 changed files with 39 additions and 6 deletions

View File

@@ -1,4 +1,4 @@
From ab0dcff644bccdf79c772df416dfc1452a8c7cd7 Mon Sep 17 00:00:00 2001
From a2b423beaa4e5457449f389b39b733eb7a778314 Mon Sep 17 00:00:00 2001
From: Al Hoang <3811822-hoanga@users.noreply.gitlab.com>
Date: Sun, 31 Oct 2021 21:00:26 -0500
Subject: patches for haiku
@@ -255,3 +255,30 @@ index d9858da..0a5b8c9 100644
--
2.30.2
From f317a6a2df3a23fe13e5682c57071b6a8450fda1 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Thu, 25 Nov 2021 18:27:19 +0100
Subject: Haiku: access to fpu registers was changed in beta3
diff --git a/src/runtime/x86-64-haiku-os.c b/src/runtime/x86-64-haiku-os.c
index 2f8e25c..af4924e 100644
--- a/src/runtime/x86-64-haiku-os.c
+++ b/src/runtime/x86-64-haiku-os.c
@@ -47,10 +47,10 @@ os_restore_fp_control(os_context_t *context)
// just guessing here
/* reset exception flags and restore control flags on SSE2 FPU */
- unsigned int temp = (context->uc_mcontext.fpu.mxcsr) & ~0x3F;
+ unsigned int temp = (context->uc_mcontext.fpu.fp_fxsave.mxcsr) & ~0x3F;
asm ("ldmxcsr %0" : : "m" (temp));
/* same for x87 FPU. */
- asm ("fldcw %0" : : "m" (context->uc_mcontext.fpu.control));
+ asm ("fldcw %0" : : "m" (context->uc_mcontext.fpu.fp_fxsave.control));
}
void
--
2.30.2

View File

@@ -13,10 +13,10 @@ SOURCE_URI="https://github.com/sbcl/sbcl/archive/$srcGitRev.tar.gz"
CHECKSUM_SHA256="b59dba5b0c4d8a599b60f29d79e29115f1dd73f3b5f305123ecf0cb1ef1a8212"
SOURCE_DIR="sbcl-$srcGitRev"
SOURCE_FILENAME="sbcl-$portVersion.tar.gz"
PATCHES="sbcl-2.1.10.22_$srcGitRev.patchset"
PATCHES="sbcl-$portVersion.patchset"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
SECONDARY_ARCHITECTURES="?x86"
PROVIDES="
sbcl$secondaryArchSuffix = $portVersion
@@ -29,7 +29,6 @@ REQUIRES="
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
java:environment >= 11
devel:libssl$secondaryArchSuffix
"
BUILD_PREREQUIRES="
@@ -37,7 +36,6 @@ BUILD_PREREQUIRES="
cmd:abcl
cmd:find
cmd:gcc$secondaryArchPrefix
cmd:java
cmd:make
cmd:pkg_config$secondaryArchPrefix
cmd:sed
@@ -47,7 +45,10 @@ BUILD_PREREQUIRES="
BUILD()
{
source /system/data/profile.d/openjdk11.sh
export JAVA_HOME=$JDK11_HOME
export PATH=$JDK11_HOME/bin:$PATH
export JAVA_HOME="$JDK11_HOME"
export DISABLE_ASLR=1
echo ';;; This file is auto-generated using generate-version.sh. Every time
;;; you re-run make.sh, this file will be overwritten if you are
;;; working from a Git checkout.
@@ -58,5 +59,10 @@ BUILD()
INSTALL()
{
INSTALL_ROOT=$prefix sh install.sh
mkdir -p $docDir $manDir
mv $prefix/share/man/man1 $manDir
mv $prefix/share/doc/sbcl/* $docDir
rm -rf $prefix/share
}