kumquat-buildroot/package/skalibs/0001-Do-not-ld-into-dev-null.patch
Fabrice Fontaine 166f4932bc package/skalibs: fix build with xtensa
Build with xtensa toolchain is broken since bump to version 2.10.0.2 in
commit 4d5587cb56 indeed patch was dropped
assuming that it was included upstream but this assumption was wrong.

The code was just reworked in version 2.10.0.0 and commit
21e6ea800c

Fixes:
 - http://autobuild.buildroot.org/results/ee58ffa7b2f0be46ef7bc0ba38d3142f26a9bce9

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-04-21 22:46:00 +02:00

116 lines
4.5 KiB
Diff

From 9d6e78c736ba93da20e5efbae914b94b08ca9590 Mon Sep 17 00:00:00 2001
From: Laurent Bercot <ska-skaware@skarnet.org>
Date: Sun, 11 Apr 2021 14:42:16 +0000
Subject: [PATCH] Do not ld into /dev/null
[Retrieved from:
https://github.com/skarnet/skalibs/commit/9d6e78c736ba93da20e5efbae914b94b08ca9590]
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
configure | 25 ++++++++++++-------------
1 file changed, 12 insertions(+), 13 deletions(-)
diff --git a/configure b/configure
index 2804a2f..c02079e 100755
--- a/configure
+++ b/configure
@@ -99,7 +99,7 @@ stripdir () {
tryflag () {
echo "Checking whether compiler accepts $2 ..."
echo "typedef int x;" > "$tmpc"
- if $CC_AUTO "$2" -c -o /dev/null "$tmpc" >/dev/null 2>&1 ; then
+ if $CC_AUTO "$2" -c -o "$tmpo" "$tmpc" >/dev/null 2>&1 ; then
echo " ... yes"
eval "$1=\"\${$1} \$2\""
eval "$1=\${$1# }"
@@ -113,7 +113,7 @@ tryflag () {
tryldflag () {
echo "Checking whether linker accepts $2 ..."
echo "typedef int x;" > "$tmpc"
- if $CC_AUTO -nostdlib "$2" -o /dev/null "$tmpc" >/dev/null 2>&1 ; then
+ if $CC_AUTO -nostdlib "$2" -o "$tmpe" "$tmpc" >/dev/null 2>&1 ; then
echo " ... yes"
eval "$1=\"\${$1} \$2\""
eval "$1=\${$1# }"
@@ -156,17 +156,17 @@ choose () {
libs="$*"
r=true
case "$what" in
- *c*) $CC_AUTO $CPPFLAGS_AUTO $CPPFLAGS $CPPFLAGS_POST $CFLAGS_AUTO $CFLAGS $CFLAGS_POST -o try$name.o -c src/sysdeps/try$name.c 2>/dev/null || r=false ;;
+ *c*) $CC_AUTO $CPPFLAGS_AUTO $CPPFLAGS $CPPFLAGS_POST $CFLAGS_AUTO $CFLAGS $CFLAGS_POST -o "$tmpo" -c src/sysdeps/try$name.c 2>/dev/null || r=false ;;
esac
if $r ; then
case "$what" in
- *l*) $CC_AUTO $CFLAGS_AUTO $CFLAGS $CFLAGS_POST $LDFLAGS_AUTO $LDFLAGS $LDFLAGS_POST -o try$name try$name.o $libs 2>/dev/null || r=false ;;
+ *l*) $CC_AUTO $CFLAGS_AUTO $CFLAGS $CFLAGS_POST $LDFLAGS_AUTO $LDFLAGS $LDFLAGS_POST -o try$name "$tmpo" $libs 2>/dev/null || r=false ;;
esac
fi
if $r ; then
case "$what" in
*r*) if test -n "$cross" ; then
- rm -f try$name.o try$name
+ rm -f try$name
fail "$0: sysdep $name cannot be autodetected when cross-compiling. Please manually provide a value with the --with-sysdep-${name}=yes|no|... option."
fi
./try$name >/dev/null 2>&1 ; r=$?
@@ -177,7 +177,7 @@ choose () {
esac
esac
fi
- rm -f try$name.o try$name
+ rm -f try$name
if $r ; then
echo "$name: yes" >> $sysdeps/sysdeps
echo " ... yes"
@@ -188,10 +188,7 @@ choose () {
}
trybasic () {
- $CC_AUTO $CPPFLAGS_AUTO $CPPFLAGS $CPPFLAGS_POST $CFLAGS_AUTO $CFLAGS $CFLAGS_POST -o "$tmpe" -c "$1" 2>/dev/null
- r=$?
- rm -f "$tmpe"
- return $r
+ $CC_AUTO $CPPFLAGS_AUTO $CPPFLAGS $CPPFLAGS_POST $CFLAGS_AUTO $CFLAGS $CFLAGS_POST -o "$tmpo" -c "$1" 2>/dev/null
}
tryendianness () {
@@ -297,7 +294,7 @@ detectlibs () {
name=$1
shift
if $CC_AUTO $CPPFLAGS_AUTO $CPPFLAGS $CPPFLAGS_POST $CFLAGS_AUTO $CFLAGS $CFLAGS_POST -c -o try$name.o src/sysdeps/try$name.c 2>/dev/null ; then
- until $CC_AUTO $CFLAGS_AUTO $CFLAGS $CFLAGS_POST $LDFLAGS_AUTO $LDFLAGS $LDFLAGS_POST -o /dev/null try$name.o $args 2>/dev/null ; do
+ until $CC_AUTO $CFLAGS_AUTO $CFLAGS $CFLAGS_POST $LDFLAGS_AUTO $LDFLAGS $LDFLAGS_POST -o "$tmpe" try$name.o $args 2>/dev/null ; do
if test -z "$*" ; then
rm -f try$name.o
return 1
@@ -465,9 +462,11 @@ set -C
while test "$i" -lt 50 ; do
i=$(($i+1))
tmpc="./tmp-configure-$$-$PPID-$i.c"
+ tmpo="./tmp-configure-$$-$PPID-$i.o"
tmpe="./tmp-configure-$$-$PPID-$i.tmp"
tmps="./tmp-configure-$$-$PPID-$i.sysdeps"
2>|/dev/null > "$tmpc" && break
+ 2>|/dev/null > "$tmpo" && break
2>|/dev/null > "$tmpe" && break
2>|/dev/null > "$tmps" && break
done
@@ -475,7 +474,7 @@ if test "$i" -gt 50 ; then
fail "$0: cannot create temporary files"
fi
set +C
-trap 'rm -f "$tmpc" "$tmpe" "$tmps"' EXIT ABRT INT QUIT TERM HUP
+trap 'rm -f "$tmpc" "$tmpo" "$tmpe" "$tmps"' EXIT ABRT INT QUIT TERM HUP
# Preprocess user-provided sysdeps
rm -f "$tmps"
@@ -533,7 +532,7 @@ test -n "$CC_AUTO" || fail "$0: cannot find a C compiler"
echo " ... $CC_AUTO"
echo "Checking whether C compiler works... "
echo "typedef int x;" > "$tmpc"
-if $CC_AUTO $CPPFLAGS_AUTO $CPPFLAGS $CPPFLAGS_POST $CFLAGS_AUTO $CFLAGS $CFLAGS_POST -c -o /dev/null "$tmpc" 2>"$tmpe" ; then
+if $CC_AUTO $CPPFLAGS_AUTO $CPPFLAGS $CPPFLAGS_POST $CFLAGS_AUTO $CFLAGS $CFLAGS_POST -c -o "$tmpo" "$tmpc" 2>"$tmpe" ; then
echo " ... yes"
else
echo " ... no. Compiler output follows:"