summaryrefslogtreecommitdiff
path: root/dev-libs/libressl
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/libressl')
-rw-r--r--dev-libs/libressl/Manifest3
-rw-r--r--dev-libs/libressl/files/libressl-2.6.4-hppa-asm.patch62
-rw-r--r--dev-libs/libressl/libressl-2.6.4.ebuild6
3 files changed, 68 insertions, 3 deletions
diff --git a/dev-libs/libressl/Manifest b/dev-libs/libressl/Manifest
index 3beccc2f5596..53fc31c1c2b6 100644
--- a/dev-libs/libressl/Manifest
+++ b/dev-libs/libressl/Manifest
@@ -1,5 +1,6 @@
+AUX libressl-2.6.4-hppa-asm.patch 2236 BLAKE2B 508555aa87f763c7cc39cf1cbd2ae5692d7c33315b08e4527db61a878cb5373e6856669e8185b7c49ab82e3f7c01034c1496c639d3a46d605c39170f3f1ce32d SHA512 b49da63109f4b0d471402c07df927b1aba60f94e263376919206fac9a4dddb9a10c4c0004836b2c00a560eb59dcde71bd6b4aba45d966a3e0b2fba79f7277a3e
DIST libressl-2.6.4.tar.gz 3227935 BLAKE2B 48e865448a9e5b0b604b06060091073276aebd376506de73773a5eb9cb0bb4c5b93aa16353b4892abaee97ec933ad77e89775c3f52263d77bb17c68e481b4f70 SHA512 181761da573ff392aaee17dd3dde416d7cbb299ab3e07b49c97e279ceb3f619e78d1dc9ec4c59b0af024f0a8270ff31fe37f8282d0392be34c3143c9647cd246
DIST libressl-2.7.3.tar.gz 3364724 BLAKE2B e245cd0e3c4819e12f3f05898429c10894959d9bbe27bfca38543ec304a84abc8edda7c968eb8d25e5c589011c5482060d05bd1e5aef71c13708ec804cd05a72 SHA512 5fafff32bc4effa98c00278206f0aeca92652c6a8101b2c5da3904a5a3deead2d1e3ce979c644b8dc6060ec216eb878a5069324a0396c0b1d7b6f8169d509e9b
-EBUILD libressl-2.6.4.ebuild 1373 BLAKE2B 3cc04437cab6d3550d82a345b71f4f2019459392dd88f7f5948ca5a9fca99fb5747ee9b09de06357a955517c67296152503c3274d9c7e9042c474d9dd6e0ac8d SHA512 3c5db45ed3bdb9df4220ba773889c95c04a741f8761e677df7a067caa322594af1b90120b4945fb03c9387fd291b81aef0e8c545ab37dc63123ca47800503ade
+EBUILD libressl-2.6.4.ebuild 1431 BLAKE2B 84f8669b2e544e7f226969999abedadf72879296a07b736b080aa9e103ebd49a52c5ea1fcc6bb7008ab3870ee74ca7a3b9ae40bafb4b2a9cf8de314e62303eba SHA512 b15cc16115a1b8e46159c9b1e384df4d97107ab634fcdfd6fb048ace13eb0527a79763239892c36116bc3872f74dd5149df5e21ff071c4a43b409beb759abcca
EBUILD libressl-2.7.3.ebuild 1379 BLAKE2B 4dbc0ff4d02d607898501321824554e92a228b91530940c2a13fa0e2368f4487ba9518a2dbc53da8d82c5b09fddcfa54ff7c81b6dde86a52ad51b76694520f3e SHA512 48b1a5d6a5a739ed3041085d46cff281d9af05761523465e7e0ac6934939cd2d726fe9264d5f30a8074a003f58b16e17dad873dae63c2169b0413552bddb6219
MISC metadata.xml 986 BLAKE2B 1c3f46d2694b17352ec02e1f2c331aae79c677ea638ed6290c51076961ac81f1b472576000fc162115f0ea1f037ac1c6ed0ea80c4603ef6a283e0ac4915fadad SHA512 bd38bf852aebe8dbac58fa324524f2fbbc0da5d22a673f5fa83dafeeee599f4022a46687d10f3d159b0953a0d4b0f1ea88156f7d04c2f1db864569dd29f3e4fe
diff --git a/dev-libs/libressl/files/libressl-2.6.4-hppa-asm.patch b/dev-libs/libressl/files/libressl-2.6.4-hppa-asm.patch
new file mode 100644
index 000000000000..a0922af09612
--- /dev/null
+++ b/dev-libs/libressl/files/libressl-2.6.4-hppa-asm.patch
@@ -0,0 +1,62 @@
+From 787d8d240bbeaa812bcf37deeedb3c467be468a3 Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyfox@gentoo.org>
+Date: Sat, 19 May 2018 17:31:42 +0100
+Subject: [PATCH] __warn_references: tweak assembly for "gnu.warning" section
+
+On some targets ';' (like hppa) is treated as a comment
+in assembly files. This occasionally causes the following
+assembly failures:
+
+```
+Error: can't resolve `.gnu.warning.EVP_DecryptFinal'
+{.gnu.warning.EVP_DecryptFinal section} - `.Ltext0' {.text section}
+```
+
+Note how branch (or other reference) attempts to cross the
+boundary across two section types: '.text' and '.gnu.warning'.
+
+Tobias Ulmer notes that openbsd already uses newlines
+for similar macro:
+
+https://github.com/openbsd/src/blob/master/sys/arch/hppa/include/cdefs.h
+
+This change switches from ';' to newline as well.
+Tested on hppa2.0 and x86_64.
+
+Reported-by: Jeroen Roovers
+Bug: https://bugs.gentoo.org/656104
+Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
+---
+ configure.ac | 2 +-
+ include/compat/sys/types.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index b74b8a1..16ed825 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -91,7 +91,7 @@ AM_CONDITIONAL([HOST_CPU_IS_INTEL], [test "x$HOSTARCH" = "xintel"])
+ AC_MSG_CHECKING([if .gnu.warning accepts long strings])
+ AC_LINK_IFELSE([AC_LANG_SOURCE([[
+ extern void SSLv3_method();
+-__asm__(".section .gnu.warning.SSLv3_method; .ascii \"SSLv3_method is insecure\" ; .text");
++__asm__(".section .gnu.warning.SSLv3_method\n\t.ascii \"SSLv3_method is insecure\"\n\t.text");
+ int main() {return 0;}
+ ]])], [
+ AC_DEFINE(HAS_GNU_WARNING_LONG, 1, [Define if .gnu.warning accepts long strings.])
+diff --git a/include/compat/sys/types.h b/include/compat/sys/types.h
+index 2107119..dec09e3 100644
+--- a/include/compat/sys/types.h
++++ b/include/compat/sys/types.h
+@@ -62,7 +62,7 @@ typedef SSIZE_T ssize_t;
+ #if defined(__GNUC__) && defined (HAS_GNU_WARNING_LONG)
+ #define __warn_references(sym,msg) \
+ __asm__(".section .gnu.warning." __STRING(sym) \
+- " ; .ascii \"" msg "\" ; .text");
++ "\n\t.ascii \"" msg "\"\n\t.text");
+ #else
+ #define __warn_references(sym,msg)
+ #endif
+--
+2.17.0
+
diff --git a/dev-libs/libressl/libressl-2.6.4.ebuild b/dev-libs/libressl/libressl-2.6.4.ebuild
index 9aaf4681a71e..5f32a09d4194 100644
--- a/dev-libs/libressl/libressl-2.6.4.ebuild
+++ b/dev-libs/libressl/libressl-2.6.4.ebuild
@@ -14,7 +14,7 @@ LICENSE="ISC openssl"
# we'll try to use the max of either. However, if either change between
# versions, we have to change the subslot to trigger rebuild of consumers.
SLOT="0/44"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 s390 sparc x86"
IUSE="+asm static-libs test"
REQUIRED_USE="test? ( static-libs )"
@@ -22,6 +22,8 @@ RDEPEND="!dev-libs/openssl:0"
DEPEND="${RDEPEND}"
PDEPEND="app-misc/ca-certificates"
+PATCHES=( "${FILESDIR}/libressl-2.6.4-hppa-asm.patch" )
+
src_prepare() {
touch crypto/Makefile.in
@@ -34,7 +36,7 @@ src_prepare() {
-e '/^[ \t]*USER_CFLAGS=/s#-O2"#"#' \
configure || die "fixing CFLAGS failed"
- eapply_user
+ default
}
multilib_src_configure() {