Skip to contentSkip to conversation

deb-pkg: Add automatic support for armhf architecture

PATCH In review Ben Hutchings 3 participants 3 messages Sep 28, 2015 – Oct 26, 2015 Kbuild

lore
Share & tools
lore
#0 lore raw

PATCH v3 1/1 deb-pkg: Add automatic support for armhf architecture

The Debian armhf architecture uses the ARM EABI hard-float variant, whereas armel uses the soft-float variant. Although the kernel doesn't use FP itself, CONFIG_VFP must be enabled to support hard-float userland and will probably be disabled when supporting a soft-float userland. So set the architecture to armhf by default when CONFIG_AEABI and CONFIG_VFP are both enabled.

---
v2: rebased
v3: rebased

 scripts/package/builddeb | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)
scripts/package/builddeb +10 -1
@@ -52,7 +52,16 @@ set_debarch() {
 	arm64)
 		debarch=arm64 ;;
 	arm*)
-		debarch=arm$(grep -q CONFIG_AEABI=y $KCONFIG_CONFIG && echo el || true) ;;
+		if grep -q CONFIG_AEABI=y $KCONFIG_CONFIG; then
+		    if grep -q CONFIG_VFP=y $KCONFIG_CONFIG; then
+			debarch=armhf
+		    else
+			debarch=armel
+		    fi
+		else
+		    debarch=arm
+		fi
+		;;
 	*)
 		debarch=$(dpkg --print-architecture)
 		echo "" >&2
Signature · 2 lines
Ben Hutchings
All extremists should be taken out and shot.
Reviewed-by on v3 1/1
#1 lore raw
Quoted 10 lines · Ben Hutchings

The Debian armhf architecture uses the ARM EABI hard-float variant, whereas armel uses the soft-float variant. Although the kernel doesn't use FP itself, CONFIG_VFP must be enabled to support hard-float userland and will probably be disabled when supporting a soft-float userland. So set the architecture to armhf by default when CONFIG_AEABI and CONFIG_VFP are both enabled.

Quoted 30 lines

---
v2: rebased
v3: rebased

 scripts/package/builddeb | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)
scripts/package/builddeb +10 -2
@@ -52,7 +52,16 @@ set_debarch() {
        arm64)
                debarch=arm64 ;;
        arm*)
-               debarch=arm$(grep -q CONFIG_AEABI=y $KCONFIG_CONFIG && echo el || true) ;;
+               if grep -q CONFIG_AEABI=y $KCONFIG_CONFIG; then
+                   if grep -q CONFIG_VFP=y $KCONFIG_CONFIG; then
+                       debarch=armhf
+                   else
+                       debarch=armel
+                   fi
+               else
+                   debarch=arm
+               fi
+               ;;
        *)
                debarch=$(dpkg --print-architecture)
                echo "" >&2
--

Ben Hutchings
All extremists should be taken out and shot.

#2 lore raw

Dne 22.10.2015 v 12:28 Riku Voipio napsal(a):

Quoted 8 lines · Ben Hutchings
Quoted 7 lines

The Debian armhf architecture uses the ARM EABI hard-float variant, whereas armel uses the soft-float variant. Although the kernel doesn't use FP itself, CONFIG_VFP must be enabled to support hard-float userland and will probably be disabled when supporting a soft-float userland. So set the architecture to armhf by default when CONFIG_AEABI and CONFIG_VFP are both enabled.

Quoted 5 lines
Quoted 3 lines

Applied to kbuild.git#misc.

Michal