1
0
Fork 0
mirror of https://github.com/pygos/build.git synced 2024-11-22 02:59:47 +01:00

Fix build problem of coreutils with musl

When cross compiling with a musl toolchain, the symbol minus_zero
gets defined more than once, causing linking problems

This commit adds as a simple workaround a patch from the openembedded
project.

Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
This commit is contained in:
David Oberhollenzer 2019-07-07 17:38:29 +02:00
parent c44f8d2f1f
commit 6592c3e996
2 changed files with 57 additions and 1 deletions

56
pkg/coreutils/0001.patch Normal file
View file

@ -0,0 +1,56 @@
From 0562b040fa17f1722ba2b3096067b45d0582ca53 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Mon, 11 Mar 2019 16:40:29 -0700
Subject: [PATCH] strtod: fix clash with strtold
Problem reported for RHEL 5 by Jesse Caldwell (Bug#34817).
* lib/strtod.c (compute_minus_zero, minus_zero):
Simplify by remving the macro / external variable,
and having just a function. User changed. This avoids
the need for an external variable that might clash.
Upstream-Status: Backported [rhel5]
Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>
---
ChangeLog | 9 +++++++++
lib/strtod.c | 11 +++++------
2 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/lib/strtod.c b/lib/strtod.c
index b9eaa51b4..69b1564e1 100644
--- a/lib/strtod.c
+++ b/lib/strtod.c
@@ -294,16 +294,15 @@ parse_number (const char *nptr,
ICC 10.0 has a bug when optimizing the expression -zero.
The expression -MIN * MIN does not work when cross-compiling
to PowerPC on Mac OS X 10.5. */
-#if defined __hpux || defined __sgi || defined __ICC
static DOUBLE
-compute_minus_zero (void)
+minus_zero (void)
{
+#if defined __hpux || defined __sgi || defined __ICC
return -MIN * MIN;
-}
-# define minus_zero compute_minus_zero ()
#else
-DOUBLE minus_zero = -0.0;
+ return -0.0;
#endif
+}
/* Convert NPTR to a DOUBLE. If ENDPTR is not NULL, a pointer to the
character after the last one used in the number is put in *ENDPTR. */
@@ -479,6 +478,6 @@ STRTOD (const char *nptr, char **endptr)
/* Special case -0.0, since at least ICC miscompiles negation. We
can't use copysign(), as that drags in -lm on some platforms. */
if (!num && negative)
- return minus_zero;
+ return minus_zero ();
return negative ? -num : num;
}
--
2.20.1

View file

@ -6,7 +6,7 @@ SHA256SUM="ff7a9c918edce6b4f4b2725e3f9b37b0c4d193531cac49a48b56c4d0d3a9e9fd"
DEPENDS="toolchain"
prepare() {
return
apply_patches
}
build() {