[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#823894: please detect hard float for non-linux or non-glibc arm-*-*eabihf builds (e.g. musl)



Source: gcc-6
Severity: wishlist
Tags: patch
User: helmutg@debian.org
Usertags: rebootstrap

Hi Matthias,

This is my second patch for musl. This time it is about musl-linux-armhf
only. The gcc packaging has some matching logic for setting make
variables such as $(float_abi). Since they currently match for armhf,
they do not cover non-linux or non-glibc arm-*-*eabihf configurations.
This causes hard to diagnose build failures down the road (thanks to
Waldemar Brodkorb for explaining the cause).  The attached patch
broadens the matching logic to cover these cases and should also address
uclibc-linux-armhf and kfreebsd-armhf if they ever materialize. Do you
agree with the proposed change?

Helmut
--- a/debian/rules.defs
+++ b/debian/rules.defs
@@ -376,7 +376,7 @@
 endif

 # check if we're building for armel or armhf
-ifeq ($(DEB_TARGET_ARCH),armhf)
+ifneq (,$(filter %eabihf,$(DEB_TARGET_GNU_SYSTEM)))
   float_abi := hard
 else ifneq (,$(filter $(distribution)-$(DEB_TARGET_ARCH), Ubuntu-armel))
   ifneq (,$(filter $(distrelease),lucid maverick natty oneiric precise))
--- a/debian/rules2
+++ b/debian/rules2
@@ -483,7 +483,7 @@
   CONFARGS += --disable-sjlj-exceptions
   # FIXME: libjava is not ported for thumb, this hack only works for
   # separate gcj builds
-  ifneq (,$(filter armhf,$(DEB_TARGET_ARCH)))
+  ifneq (,$(filter %armhf,$(DEB_TARGET_ARCH)))
     ifeq ($(distribution),Raspbian)
       with_arm_arch = armv6
       with_arm_fpu = vfp

Reply to: