summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPalmer Dabbelt <palmer@dabbelt.com>2014-12-15 13:25:57 -0800
committerPalmer Dabbelt <palmer@dabbelt.com>2014-12-15 13:25:57 -0800
commit25dc25aac86f5ccb165b2e1037a1889d2de31843 (patch)
tree80d6190e54af2589b13f60fd357969f7c4fc41da
parentWhy do I make the same mistake over and over again? (diff)
downloadpalmer-25dc25aac86f5ccb165b2e1037a1889d2de31843.tar.gz
palmer-25dc25aac86f5ccb165b2e1037a1889d2de31843.tar.bz2
palmer-25dc25aac86f5ccb165b2e1037a1889d2de31843.zip
Tell libffi that closures are supported on RISC-V
This probably isn't the cleanest of things... :)
-rw-r--r--dev-libs/libffi/Manifest5
-rw-r--r--dev-libs/libffi/files/libffi-3.2-riscv-closure.patch23
-rw-r--r--dev-libs/libffi/libffi-3.0.13-r1.ebuild1
-rw-r--r--dev-libs/libffi/libffi-3.1-r3.ebuild3
4 files changed, 29 insertions, 3 deletions
diff --git a/dev-libs/libffi/Manifest b/dev-libs/libffi/Manifest
index 47203f8..771e13d 100644
--- a/dev-libs/libffi/Manifest
+++ b/dev-libs/libffi/Manifest
@@ -3,7 +3,8 @@ AUX libffi-3.0.13-riscv.patch 53809 SHA256 aedec01c63c1b6de06f8e7e84a02e875e5010
AUX libffi-3.1-execstack.patch 277 SHA256 55e95096d8b2bd82188c62b1316c602738336c0a4b58ccce503936dfc436b1d9 SHA512 1365cb102e6ffacd89b399243cd89ddb29259e373d16fd500d9d98bd40edbd0d79b63df6fb9464247cc2f11628d5c692a25f1c6d9cef19feb857e1232c154d4f WHIRLPOOL 597c3cdb8a28dcc15d724fa4d184956bcd4118803070ba63c1d914eb1a3b4c9720f68404a05ba4ad7ad83714f79ee7856bb8921886511bc7d35b39f33b4b41f0
AUX libffi-3.1-riscv.patch 54381 SHA256 cad025d4dcb44a1cd77456afecfd7f6122e9eb7ac2b24c50a3cce69189f05015 SHA512 ca9728d0b0181be94f37bd8946a7c2c247054092cceebf5d775ea9a96367aa7461a0f756b9f7f637518b8ac5c491abf7714e625523264263de2e2a32ca45dae3 WHIRLPOOL 2f07b163f5d96f668b4f28068e8268af81317fe97968a8e243c1725de28488800067dac4b3d0832fe78cc7d3a48d550bfc416d1314c7061418c73f4975ba4806
AUX libffi-3.1-typing_error.patch 350 SHA256 2e134e7f347f392499ec9128b220cff467919dfc048922d72689816d9f40ea95 SHA512 6be05ec604da587ded9d50ba57153b7ca24ee52dbed132d08f8653032153d377b2e399b58010e3c84e2106f077696a0cc9507018687af2082aa5ce055ba5fa07 WHIRLPOOL e8613594118774abaa2d79b0cdcbfd57d1c3ca275543423cec70b368e604c78bc7162d582a5b654b378b60a1d765a12b418bd10f8a8693ccbc3e7fdf225be216
+AUX libffi-3.2-riscv-closure.patch 742 SHA256 ab4320ddad2377458c1a91409b1db5cd41ce8201e12ee3b13afab2f1bbb7f35c SHA512 159f6de35a5ad63911e905af0f60d41b5f3b8f3a7c8e65c3e83ae7b0780315d99b18de96573c043c4650424069db48f8de321d0c42ec49a7517dc98b8719c6b9 WHIRLPOOL 6a8c8dddb26a0941fa34c1cde59d7e91d2ee5416b5dc4478247b7101df9ead6d065344a14691306df6c944a7c7fafe013056e4bd6a2505a81c27702dd5db1c38
DIST libffi-3.0.13.tar.gz 845747 SHA256 1dddde1400c3bcb7749d398071af88c3e4754058d2d4c0b3696c2f82dc5cf11c SHA512 fc47f5d25197c631754efe05a349edb556d072807ecef19b41f17c1a8f39c95221be64926fbd05b1f8439181df1ddff8fc01462ce3a26005b75159ddc27e6f6a WHIRLPOOL d5b14d48a7b35f7349ec938d0deac62db7022ac4d611ab13bc7a6a2766a47e210fc1663fc8c6d7ee48d421c06b66f558010829ac2c215620c76d0bf7650e1308
DIST libffi-3.1.tar.gz 937214 SHA256 97feeeadca5e21870fa4433bc953d1b3af3f698d5df8a428f68b73cd60aef6eb SHA512 8994973d75facf5ad928c270e17b1a56e24d1543af75b93731a0048e747df27e4190a736b6dc2dca7d43de1d7e88891220304802c10fcccdcebee9c9ffd3d1b9 WHIRLPOOL 19c08cffd39c998fcd762b1e3767b4fd86915427226833411302bebd2d5bcf93d515e6df4a4cab11327595d3966e46442e457fbe09ae986b58bdfb2bb6adb913
-EBUILD libffi-3.0.13-r1.ebuild 2345 SHA256 a92448943d87e7fafe38749b2e59dccaa730b331f476583d94d67e85340b1f55 SHA512 4ae8c022fc4a5f5a5053a0717b6eabeea2223cef2a8cd64ef2115a33b948124ae6583429b0be7ee421c42b71e6b196f04a876b302720db5afa00b4af9a469bcd WHIRLPOOL d1fe220b4055f3491d35948d00cb6947c11c693e7469ba8ea05351a3f6bdd84f253a40a05271e796944d94d138541afe3d3c7328669d952f343eee390adb3047
-EBUILD libffi-3.1-r3.ebuild 2368 SHA256 85afd60cc867dced69158da6021ea5f985af62a31b0b1313da5cfd54fd29e5ba SHA512 0a61eb4ce6f4316ccb13c8889c8f9c97ac5913a1f3bfffa2c0b978046a0d6c2f5666ff8243551d1c3443fd6bff5cb33ac7b8c5044459b7561e86e8380b5dd98e WHIRLPOOL 33b741990f16504df534449159f5f6dde5c77b58bbcc7387b18681990c8215714615d7987e1a821095902612463921fe6c97aed354e0591714125cba1c05d0a6
+EBUILD libffi-3.0.13-r1.ebuild 2404 SHA256 a4236c151f490427e889b47dc030536568f65c6e86613a7ccca669c85f3df5fa SHA512 7af6df8c629152c43afb60ac8ac19220eda34e31b98dfbe1cf0cf7c7eeafb11f062ffe1441a53d48bca936b104e0e2afce3645289feff74f63ecd3c73bb73888 WHIRLPOOL 194c73e539836c429c6b3521db7ee1bc398b1f5637c82dbc6dff04638a65286d00c8876eacb7852f91a306aabf0633108a5972592bf705c732639b73e9eeea0a
+EBUILD libffi-3.1-r3.ebuild 2430 SHA256 677bf4e8e100c44ea0d69ec5d97dccf74e8d413bb73d0dd70f8333afeb582561 SHA512 185e115d4c2f9b7c778ad02c97ff8baae84386ddb4ac8cd3d0c4a04442a2df3c60791b7124f05e37e2664917d3008bfd20efd641ba1f7c1aa3b6955257e4afdd WHIRLPOOL 07eb9ab93318b34758fdc83ab5ffce43f4ef027d570d5329443ec65748c4a787a72aaa0274b47c0767d9bd571e31e535665a05ce01a4658791dce4195c94bff9
diff --git a/dev-libs/libffi/files/libffi-3.2-riscv-closure.patch b/dev-libs/libffi/files/libffi-3.2-riscv-closure.patch
new file mode 100644
index 0000000..8946ff2
--- /dev/null
+++ b/dev-libs/libffi/files/libffi-3.2-riscv-closure.patch
@@ -0,0 +1,23 @@
+commit 8609ec1847615fa43f0c97354f4a773ee76f4c1e
+Author: Palmer Dabbelt <palmer.dabbelt@eecs.berkeley.edu>
+Date: Mon Dec 15 13:21:54 2014 -0800
+
+ Attempt to support FFI closures
+
+ This at least makes them appear in the FFI header file. I don't know
+ what's actually required to make them work, but maybe they won't be
+ necessary for portage?
+
+diff --git a/src/riscv/ffitarget.h b/src/riscv/ffitarget.h
+index d56eb59..65ad65b 100644
+--- a/src/riscv/ffitarget.h
++++ b/src/riscv/ffitarget.h
+@@ -66,7 +66,7 @@ typedef enum ffi_abi {
+
+ /* ---- Definitions for closures ----------------------------------------- */
+
+-#define FFI_CLOSURES 0
++#define FFI_CLOSURES 1
+ #define FFI_TRAMPOLINE_SIZE 48
+ #define FFI_NATIVE_RAW_API 0
+
diff --git a/dev-libs/libffi/libffi-3.0.13-r1.ebuild b/dev-libs/libffi/libffi-3.0.13-r1.ebuild
index 8ad1cf2..c19f716 100644
--- a/dev-libs/libffi/libffi-3.0.13-r1.ebuild
+++ b/dev-libs/libffi/libffi-3.0.13-r1.ebuild
@@ -40,6 +40,7 @@ src_prepare() {
sed -i 's:@toolexeclibdir@:$(libdir):g' Makefile.in || die #462814
epatch "${FILESDIR}"/${P}-emutramp_pax_proc.patch #457194
epatch "${FILESDIR}"/${P}-riscv.patch
+ epatch "${FILESDIR}"/${PN}-3.2-riscv-closure.patch
epatch_user
eautoreconf
}
diff --git a/dev-libs/libffi/libffi-3.1-r3.ebuild b/dev-libs/libffi/libffi-3.1-r3.ebuild
index a3a1480..c68d046 100644
--- a/dev-libs/libffi/libffi-3.1-r3.ebuild
+++ b/dev-libs/libffi/libffi-3.1-r3.ebuild
@@ -40,7 +40,8 @@ src_prepare() {
epatch \
"${FILESDIR}"/${P}-execstack.patch \
"${FILESDIR}"/${P}-typing_error.patch \
- "${FILESDIR}"/${P}-riscv.patch
+ "${FILESDIR}"/${P}-riscv.patch \
+ "${FILESDIR}"/${PN}-3.2-riscv-closure.patch
sed -i -e 's:@toolexeclibdir@:$(libdir):g' Makefile.in || die #462814
# http://sourceware.org/ml/libffi-discuss/2014/msg00060.html