aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2020-03-05 13:14:41 +0000
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2020-03-06 09:53:24 -0300
commitaf09e5e5d9ec3ca20891e61a6922eac984fcbdc4 (patch)
treecbce2f2511ed44e62189efc2ce40597358a5050d
parentRemove reference of --without-fp on configure (diff)
downloadglibc-af09e5e5d9ec3ca20891e61a6922eac984fcbdc4.tar.gz
glibc-af09e5e5d9ec3ca20891e61a6922eac984fcbdc4.tar.bz2
glibc-af09e5e5d9ec3ca20891e61a6922eac984fcbdc4.zip
arm: Fix softp-fp Implies (BZ #25635)
The commit "arm: Split BE/LE abilist" (1673ba87fefe019c834c09d33673d1d453ea698d) changed the soft-fp order for ARM selection when __SOFTFP__ is defined by the compiler. On 2.30 the sysdeps order is: 2.30 sysdeps/unix/sysv/linux/arm sysdeps/arm/nptl sysdeps/unix/sysv/linux sysdeps/nptl sysdeps/pthread sysdeps/gnu sysdeps/unix/inet sysdeps/unix/sysv sysdeps/unix/arm sysdeps/unix sysdeps/posix sysdeps/arm/nofpu sysdeps/ieee754/soft-fp sysdeps/arm sysdeps/wordsize-32 sysdeps/ieee754/flt-32 sysdeps/ieee754/dbl-64 sysdeps/ieee754 sysdeps/generic While on master is: sysdeps/unix/sysv/linux/arm/le sysdeps/unix/sysv/linux/arm sysdeps/arm/nptl sysdeps/unix/sysv/linux sysdeps/nptl sysdeps/pthread sysdeps/gnu sysdeps/unix/inet sysdeps/unix/sysv sysdeps/unix/arm sysdeps/unix sysdeps/posix sysdeps/arm/le sysdeps/arm sysdeps/wordsize-32 sysdeps/ieee754/flt-32 sysdeps/ieee754/dbl-64 sysdeps/arm/nofpu sysdeps/ieee754/soft-fp sysdeps/ieee754 sysdeps/generic It make the build select some routines (fadd, fdiv, fmul, fsub, and fma) on ieee754/flt-32 and ieee754/dbl-64 that requires fenv support to be correctly rounded which in turns lead to math failures since the __SOFTFP__ does not have fenv support. With this patch the order is now: sysdeps/unix/sysv/linux/arm/le sysdeps/unix/sysv/linux/arm sysdeps/arm/nptl sysdeps/unix/sysv/linux sysdeps/nptlsysdeps/pthread sysdeps/gnu sysdeps/unix/inet sysdeps/unix/sysv sysdeps/unix/arm sysdeps/unix sysdeps/posix sysdeps/arm/le/nofpu sysdeps/arm/nofpu sysdeps/ieee754/soft-fp sysdeps/arm/le sysdeps/arm sysdeps/wordsize-32 sysdeps/ieee754/flt-32 sysdeps/ieee754/dbl-64 sysdeps/ieee754 sysdeps/generic Checked on arm-linux-gnuaebi.
-rw-r--r--sysdeps/arm/be/nofpu/Implies1
-rw-r--r--sysdeps/arm/le/nofpu/Implies1
2 files changed, 2 insertions, 0 deletions
diff --git a/sysdeps/arm/be/nofpu/Implies b/sysdeps/arm/be/nofpu/Implies
new file mode 100644
index 0000000000..c90dd7fd5c
--- /dev/null
+++ b/sysdeps/arm/be/nofpu/Implies
@@ -0,0 +1 @@
+arm/nofpu
diff --git a/sysdeps/arm/le/nofpu/Implies b/sysdeps/arm/le/nofpu/Implies
new file mode 100644
index 0000000000..c90dd7fd5c
--- /dev/null
+++ b/sysdeps/arm/le/nofpu/Implies
@@ -0,0 +1 @@
+arm/nofpu