diff options
Diffstat (limited to 'dev-libs/libressl')
-rw-r--r-- | dev-libs/libressl/Manifest | 3 | ||||
-rw-r--r-- | dev-libs/libressl/files/libressl-2.6.4-hppa-asm.patch | 62 | ||||
-rw-r--r-- | dev-libs/libressl/libressl-2.6.4.ebuild | 6 |
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() { |