From 7ea0cde1f72cdf1a19da1a603e3dd7134d2df062 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Ter=C3=A4s?= Date: Mon, 23 Mar 2015 17:35:47 +0200 Subject: main/musl: fix FLT_ROUNDS regression in C++ fixes firefox build --- ...x-FLT_ROUNDS-regression-in-C-applications.patch | 42 ++++++++++++++++++++++ main/musl/APKBUILD | 6 +++- 2 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 main/musl/0004-fix-FLT_ROUNDS-regression-in-C-applications.patch (limited to 'main/musl') diff --git a/main/musl/0004-fix-FLT_ROUNDS-regression-in-C-applications.patch b/main/musl/0004-fix-FLT_ROUNDS-regression-in-C-applications.patch new file mode 100644 index 0000000000..0410b076b9 --- /dev/null +++ b/main/musl/0004-fix-FLT_ROUNDS-regression-in-C-applications.patch @@ -0,0 +1,42 @@ +From 11d1e2e2ded07673411ba872c1e3d0096dc79439 Mon Sep 17 00:00:00 2001 +From: Rich Felker +Date: Mon, 23 Mar 2015 11:26:51 -0400 +Subject: [PATCH] fix FLT_ROUNDS regression in C++ applications + +commit 559de8f5f06da9022cbba70e22e14a710eb74513 redefined FLT_ROUNDS +to use an external function that can report the actual current +rounding mode, rather than always reporting round-to-nearest. however, +float.h did not include 'extern "C"' wrapping for C++, so C++ programs +using FLT_ROUNDS ended up with an unresolved reference to a +name-mangled C++ function __flt_rounds. +--- + include/float.h | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/include/float.h b/include/float.h +index c6429d3..713aadb 100644 +--- a/include/float.h ++++ b/include/float.h +@@ -1,6 +1,10 @@ + #ifndef _FLOAT_H + #define _FLOAT_H + ++#ifdef __cplusplus ++extern "C" { ++#endif ++ + int __flt_rounds(void); + #define FLT_ROUNDS (__flt_rounds()) + +@@ -41,4 +45,8 @@ int __flt_rounds(void); + + #include + ++#ifdef __cplusplus ++} ++#endif ++ + #endif +-- +2.3.3 + diff --git a/main/musl/APKBUILD b/main/musl/APKBUILD index f0c2f9b96b..46473c2a8f 100644 --- a/main/musl/APKBUILD +++ b/main/musl/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Timo Teräs pkgname=musl pkgver=1.1.7 -pkgrel=1 +pkgrel=2 pkgdesc="the musl c library (libc) implementation" url="http://www.musl-libc.org/" arch="all" @@ -16,6 +16,7 @@ source="http://www.musl-libc.org/releases/musl-$pkgver.tar.gz 0001-fix-memory-corruption-in-regcomp-with-backslash-foll.patch 0002-suppress-backref-processing-in-ERE-regcomp.patch 0003-fix-internal-buffer-overrun-in-inet_pton.patch + 0004-fix-FLT_ROUNDS-regression-in-C-applications.patch ldconfig __stack_chk_fail_local.c @@ -117,6 +118,7 @@ md5sums="6fe9fc4d99a7d321432b3e179c138d73 musl-1.1.7.tar.gz ca2d1b1283b15df595950d0ba63b9e90 0001-fix-memory-corruption-in-regcomp-with-backslash-foll.patch d2c8268e812b8c40860eecfaca077959 0002-suppress-backref-processing-in-ERE-regcomp.patch f99a4519a796a56360a203723c1dff0e 0003-fix-internal-buffer-overrun-in-inet_pton.patch +dc7e69c07ead97cd275d26be0ad0c20d 0004-fix-FLT_ROUNDS-regression-in-C-applications.patch 830d01f7821b978df770b06db3790921 ldconfig 0df687757221bbb0fc1aa67f1bd646f9 __stack_chk_fail_local.c 57ef2c63b9ec6a2041694ace97d4ffa2 getconf.c @@ -126,6 +128,7 @@ sha256sums="d8e0aae287ecf8aa6500d3ed4131f33d216a7857dc7649a89125ffca6bf91599 mu 618af64186986b8fe2e1f8c31745da9d2a3f5fc213cfe23efcc2c7e5f4572129 0001-fix-memory-corruption-in-regcomp-with-backslash-foll.patch 4a733c74d3b7b1986e3770fbbd2d0d5d5f1144b3104fe9aaab4580b8ab67fe67 0002-suppress-backref-processing-in-ERE-regcomp.patch 2362acd6c14977072d25a205190277c25edc0d32396a5bca5eab8d88894ac654 0003-fix-internal-buffer-overrun-in-inet_pton.patch +94fc35ef5cd4de3ed15a98a84f3859ca7506bb702b17ebe3c3f372b2cf7f7950 0004-fix-FLT_ROUNDS-regression-in-C-applications.patch b4a2c06db38742e8c42c3c9838b285a7d8cdac6c091ff3df5ff9a15f1e41b9c7 ldconfig 299a7d75a09de3e2e11e7fb4acc3182e4a14e868093d2f30938fce9bfcff13da __stack_chk_fail_local.c d87d0cbb3690ae2c5d8cc218349fd8278b93855dd625deaf7ae50e320aad247c getconf.c @@ -135,6 +138,7 @@ sha512sums="7fe002ed5f7fd96c8759f3f85ee382809043e1829e093b88eaaddc197f7d558473ad 0a9ae94be997ef5218e2759ead181733270a415822c64a7b539a571fe4c8e3b148e527ec3ef3dfea8937df741a6685b38d3dd0a8eb9a14a9f904e19a79735965 0001-fix-memory-corruption-in-regcomp-with-backslash-foll.patch 7f13fcfb7e0a834fb7499805ace8a95ab7e930cd947d2b6749107d0cf80b207dfb0ab52210f0850f15c794cb011e3477b647a9a8e6cba96a2c4b13f0890d00c4 0002-suppress-backref-processing-in-ERE-regcomp.patch 0e978f001e8339f22c3fe09bd4f40227978db922b353559e2f052f81641b289510b9f344dd71f7205e8463ce0a1da01ebb8445089cf822c6d6996eb3e37e0eac 0003-fix-internal-buffer-overrun-in-inet_pton.patch +dd775edddb092ec2c1a65d6f42992331b40183e04d15753aa9b8ed0b4d31b140dd3cc59ebaee47eaab3632be0ae625634f776ba6ac62b80aa58e9d5f32f8bf19 0004-fix-FLT_ROUNDS-regression-in-C-applications.patch 8d3a2d5315fc56fee7da9abb8b89bb38c6046c33d154c10d168fb35bfde6b0cf9f13042a3bceee34daf091bc409d699223735dcf19f382eeee1f6be34154f26f ldconfig 062bb49fa54839010acd4af113e20f7263dde1c8a2ca359b5fb2661ef9ed9d84a0f7c3bc10c25dcfa10bb3c5a4874588dff636ac43d5dbb3d748d75400756d0b __stack_chk_fail_local.c 0d80f37b34a35e3d14b012257c50862dfeb9d2c81139ea2dfa101d981d093b009b9fa450ba27a708ac59377a48626971dfc58e20a3799084a65777a0c32cbc7d getconf.c -- cgit v1.2.3