switch arm 32 bit arch from armv5tel to armv6l

we have no supported armv5tel board left so we can switch to the higher
arch. This now can use the vpu (still in softfp calling convention to
not break existing installations.)
this fix many compile problems, also boost is now working again.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
This commit is contained in:
Arne Fitzenreiter 2021-06-15 17:54:58 +00:00
parent 5063f52d82
commit aafdd71b04
60 changed files with 16931 additions and 645 deletions

File diff suppressed because it is too large Load Diff

View File

@ -43,7 +43,7 @@ etc/profile.d/umask.sh
etc/resolv.conf
etc/securetty
etc/sysctl.conf
etc/sysctl-armv5tel.conf
etc/sysctl-armv6l.conf
etc/syslog.conf
etc/system-release
#home

View File

@ -1 +0,0 @@
../../../../common/armv5tel/linux

View File

@ -1 +0,0 @@
../../../../common/armv5tel/linux-initrd

View File

@ -1 +0,0 @@
../../../../common/armv5tel/rpi-firmware

View File

@ -1 +0,0 @@
../../../../common/armv5tel/u-boot

View File

@ -0,0 +1 @@
../../../../common/armv6l/boost

View File

@ -0,0 +1 @@
../../../../common/armv6l/linux

View File

@ -0,0 +1 @@
../../../../common/armv6l/linux-initrd

View File

@ -0,0 +1 @@
../../../../common/armv6l/rpi-firmware

View File

@ -0,0 +1 @@
../../../../common/armv6l/u-boot

View File

@ -1,3 +1,4 @@
etc/rc.d/init.d/firewall
etc/rc.d/init.d/leds
etc/rc.d/init.d/networking/functions.network
etc/rc.d/init.d/sysctl

View File

@ -13,7 +13,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
# Copyright (C) 2007-2021 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@ -54,7 +54,7 @@ ifeq "$(BUILD_ARCH)" "armv7hl"
IS_32BIT = 1
endif
ifeq "$(BUILD_ARCH)" "armv5tel"
ifeq "$(BUILD_ARCH)" "armv6l"
IS_32BIT = 1
endif

View File

@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2020 IPFire Team <info@ipfire.org> #
# Copyright (C) 2007-2021 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@ -78,10 +78,10 @@ else
endif
endif
ifeq "$(BUILD_ARCH)" "armv5tel"
ifeq "$(BUILD_ARCH)" "armv6l"
EXTRA_CONFIG += \
--with-abi=aapcs-linux \
--with-float=soft
--with-float=softfp
endif
EXTRA_CONFIG += \

View File

@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2018 IPFire Team <info@ipfire.org> #
# Copyright (C) 2007-2021 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@ -31,7 +31,7 @@ DL_FILE = $(THISAPP).tar.gz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
SUP_ARCH = aarch64 x86_64 i586
SUP_ARCH = aarch64 armv6l x86_64 i586
CFLAGS += -O3 -fno-strict-aliasing
CXXFLAGS += -O3 -fno-strict-aliasing

View File

@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2018 IPFire Team <info@ipfire.org> #
# Copyright (C) 2007-2021 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@ -43,7 +43,7 @@ ifeq "$(BUILD_PLATFORM)" "x86"
HAS_ISOLINUX = 1
endif
ifeq "$(BUILD_ARCH)" "armv5tel"
ifeq "$(BUILD_ARCH)" "armv6l"
HAS_KERNEL = 0
endif

View File

@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2020 IPFire Team <info@ipfire.org> #
# Copyright (C) 2007-2021 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@ -36,7 +36,7 @@ PAK_VER = 12
DEPS = sdl lame libvorbis xvid
ifeq "$(BUILD_ARCH)" "armv5tel"
ifeq "$(BUILD_ARCH)" "armv6l"
LDFLAGS += -latomic
endif

View File

@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2019 IPFire Team <info@ipfire.org> #
# Copyright (C) 2007-2021 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@ -142,7 +142,7 @@ ifeq "$(EFI)" "1"
endif
# Install Pandaboard MLO and uboot first
ifeq "$(BUILD_ARCH)" "armv5tel"
ifeq "$(BUILD_ARCH)" "armv6l"
cp -v /boot/MLO $(MNThdd)/boot/
cp -v /boot/u-boot.img $(MNThdd)/boot/
sync
@ -255,7 +255,7 @@ endif
# not copied to a block device)
dd if=/dev/zero bs=1M count=$(PADDING) >> $(IMG)
ifeq "$(BUILD_ARCH)" "armv5tel"
ifeq "$(BUILD_ARCH)" "armv6l"
# Install u-boot for Orangepi Zero/Nanopi DUO into image 8KB
dd if=/usr/share/u-boot/orangepi_zero/u-boot-sunxi-with-spl.bin of=$(IMG) bs=1K seek=8 conv=notrunc
endif

View File

@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2020 IPFire Team <info@ipfire.org> #
# Copyright (C) 2007-2021 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@ -36,10 +36,6 @@ PAK_VER = 13
DEPS = libtalloc samba
ifeq "$(BUILD_ARCH)" "armv5tel"
LDFLAGS += -latomic
endif
###############################################################################
# Top-level Rules
###############################################################################

11
lfs/gcc
View File

@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2020 IPFire Team <info@ipfire.org> #
# Copyright (C) 2007-2021 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@ -54,7 +54,7 @@ ifeq "$(BUILD_ARCH)" "armv7hl"
FULL_BOOTSTRAP = 1
endif
ifeq "$(BUILD_ARCH)" "armv5tel"
ifeq "$(BUILD_ARCH)" "armv6l"
FULL_BOOTSTRAP = 1
endif
@ -161,10 +161,11 @@ ifeq "$(BUILD_ARCH)" "armv7hl"
--with-float=hard
endif
ifeq "$(BUILD_ARCH)" "armv5tel"
ifeq "$(BUILD_ARCH)" "armv6l"
EXTRA_CONFIG += \
--with-float=soft \
--disable-sjlj-exceptions
--with-arch=armv6 \
--with-float=softfp
# --disable-sjlj-exceptions
endif
ifeq "$(BUILD_ARCH)" "i586"

View File

@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2020 IPFire Team <info@ipfire.org> #
# Copyright (C) 2007-2021 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@ -55,12 +55,6 @@ ifeq "$(BUILD_ARCH)" "aarch64"
CFLAGS += -Wno-error=maybe-uninitialized
endif
# Disable hardware FP for armv5tel
ifeq "$(BUILD_ARCH)" "armv5tel"
EXTRA_CONFIG += \
--without-fp
endif
# Add some general configuration flags
EXTRA_CONFIG += \
--disable-profile \
@ -124,7 +118,7 @@ ifneq "$(TOOLCHAIN)" "1"
scripts/test-installation.pl
endif
ifeq "$(BUILD_ARCH)" "armv5tel"
ifeq "$(BUILD_ARCH)" "armv6l"
cd $(DIR_APP) && sed -i 's|libs -o|libs -L/usr/lib -Wl,-dynamic-linker=/lib/ld-linux.so.3 -o|' \
scripts/test-installation.pl
endif

View File

@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2020 IPFire Team <info@ipfire.org> #
# Copyright (C) 2007-2021 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@ -36,9 +36,6 @@ PAK_VER = 19
DEPS =
ifeq "$(BUILD_ARCH)" "armv5tel"
LDFLAGS += -latomic
endif
ifeq "$(BUILD_ARCH)" "riscv64"
LDFLAGS += -latomic

View File

@ -48,7 +48,7 @@ ifeq "$(BUILD_ARCH)" "aarch64"
KERNEL_TARGET = Image
endif
ifeq "$(BUILD_ARCH)" "armv5tel"
ifeq "$(BUILD_ARCH)" "armv6l"
KERNEL_ARCH = arm
KERNEL_TARGET = zImage
endif
@ -138,7 +138,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
# fix Boot with enabled usercopy hardening
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/linux/linux-5.9-crypto_testmgr_allocate_buffers_with____GFP_COMP.patch
ifeq "$(BUILD_ARCH)" "armv5tel"
ifeq "$(BUILD_ARCH)" "armv6l"
# Apply Arm-multiarch kernel patches.
cd $(DIR_APP) && xzcat $(DIR_DL)/arm-multi-patches-$(ARM_PATCHES).patch.xz | patch -Np1
endif

View File

@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2018 IPFire Team <info@ipfire.org> #
# Copyright (C) 2007-2021 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@ -60,7 +60,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
# Create initramfs images
dracut --force --early-microcode --verbose --strip --xz /boot/initramfs-$(KVER)-$(VERSUFIX).img $(KVER)-$(VERSUFIX)
ifeq "$(BUILD_ARCH)" "armv5tel"
ifeq "$(BUILD_ARCH)" "armv6l"
cd /boot && mkimage -A arm -T ramdisk -C lzma -d initramfs-$(KVER)-$(VERSUFIX).img uInit-$(KVER)-$(VERSUFIX)
cd /boot && rm initramfs-$(KVER)-$(VERSUFIX).img
endif

View File

@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2018 IPFire Team <info@ipfire.org> #
# Copyright (C) 2007-2021 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@ -25,7 +25,7 @@
include Config
VER = 0.7.3
SUP_ARCHES = x86_64 i586 armv5tel
SUP_ARCHES = x86_64 i586 armv6l
THISAPP = ltrace-$(VER)
DL_FILE = ltrace_$(VER).orig.tar.bz2

View File

@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2018 IPFire Team <info@ipfire.org> #
# Copyright (C) 2007-2021 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@ -32,8 +32,8 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/${THISAPP}
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = mpd
PAK_VER = 22
SUP_ARCH = aarch64 x86_64 i586
PAK_VER = 23
SUP_ARCH = aarch64 armv6l x86_64 i586
DEPS = alsa avahi faad2 ffmpeg flac lame libmad libshout libogg libid3tag libvorbis opus soxr

View File

@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2018 IPFire Team <info@ipfire.org> #
# Copyright (C) 2007-2021 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@ -32,10 +32,6 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
ifeq "$(BUILD_ARCH)" "armv5tel"
LDFLAGS += -latomic
endif
###############################################################################
# Top-level Rules
###############################################################################

View File

@ -30,7 +30,7 @@ DL_FILE = $(THISAPP).tar.xz
DL_FROM = $(URL_IPFIRE)
TARGET = $(DIR_INFO)/$(THISAPP)
SUP_ARCH = armv5tel aarch64
SUP_ARCH = armv6l aarch64
###############################################################################
# Top-level Rules
@ -71,7 +71,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@cd / && tar axf $(DIR_DL)/$(DL_FILE)
cp -f $(DIR_SRC)/config/rpi-firmware/config.txt /boot
ifeq "${BUILD_ARCH}" "armv5tel"
ifeq "${BUILD_ARCH}" "armv6l"
echo arm_64bit=0 >> /boot/config.txt
else
echo arm_64bit=1 >> /boot/config.txt

View File

@ -31,7 +31,7 @@ DL_FILE = $(THISAPP)-$(RUST_BOOTSTRAP).tar.gz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)-$(RUST_BOOTSTRAP)
TARGET = $(DIR_INFO)/$(THISAPP)
SUP_ARCH = x86_64 i586 aarch64 armv5tel
SUP_ARCH = x86_64 i586 aarch64 armv6l
ifeq "$(BUILD_ARCH)" "i586"
RUST_ARCH = i686
@ -39,7 +39,7 @@ else
RUST_ARCH = $(BUILD_ARCH)
endif
ifeq "$(BUILD_ARCH)" "armv5tel"
ifeq "$(BUILD_ARCH)" "armv6l"
RUST_BOOTSTRAP = arm-unknown-linux-gnueabi
else
RUST_BOOTSTRAP = $(RUST_ARCH)-unknown-linux-gnu

View File

@ -34,10 +34,6 @@ TARGET = $(DIR_INFO)/$(THISAPP)
CXXFLAGS+= -Wno-error=format-truncation
ifeq "$(BUILD_ARCH)" "armv5tel"
LDFLAGS += -latomic
endif
ifeq "$(BUILD_ARCH)" "riscv64"
LDFLAGS += -latomic
endif

View File

@ -25,7 +25,7 @@
include Config
VER = 5.11
SUP_ARCHES = x86_64 i586 armv5tel
SUP_ARCHES = x86_64 i586 armv6l
THISAPP = strace-$(VER)
DL_FILE = $(THISAPP).tar.xz

View File

@ -31,11 +31,7 @@ DL_FILE = $(THISAPP).tar.gz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
SUP_ARCH = x86_64 i586 aarch64 armv5tel
ifeq "$(BUILD_ARCH)" "armv5tel"
LDFLAGS += -latomic
endif
SUP_ARCH = x86_64 i586 aarch64 armv6l
###############################################################################
# Top-level Rules

View File

@ -31,7 +31,7 @@ DL_FILE = $(THISAPP).tar.bz2
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)-$(MKIMAGE)
SUP_ARCH = armv5tel aarch64
SUP_ARCH = armv6l aarch64
CFLAGS += -fcommon
@ -78,7 +78,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
ifneq "$(MKIMAGE)" "1"
ifeq "${BUILD_ARCH}" "armv5tel"
ifeq "${BUILD_ARCH}" "armv6l"
# Pandaboard
-mkdir -pv /usr/share/u-boot/pandaboard
cd $(DIR_APP) && make CROSS_COMPILE="" omap4_panda_config
@ -191,7 +191,7 @@ endif
else
# mkimage
ifeq "${BUILD_ARCH}" "armv5tel"
ifeq "${BUILD_ARCH}" "armv6l"
cd $(DIR_APP) && make CROSS_COMPILE="" omap4_panda_config
else
cd $(DIR_APP) && make CROSS_COMPILE="" rpi_3_config

View File

@ -35,7 +35,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)-kmod-$(KVER)-$(VERSUFIX)
SUP_ARCH = armv5tel
SUP_ARCH = armv6l
###############################################################################
# Top-level Rules

18
make.sh
View File

@ -169,12 +169,12 @@ configure_build() {
CFLAGS_ARCH="-march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard"
;;
armv5tel)
armv6l)
BUILDTARGET="${build_arch}-unknown-linux-gnueabi"
CROSSTARGET="${build_arch}-cross-linux-gnueabi"
BUILD_PLATFORM="arm"
CFLAGS_ARCH="-march=armv5te -mfloat-abi=soft -fomit-frame-pointer"
RUSTFLAGS="-Ccodegen-units=1"
CFLAGS_ARCH="-march=armv6 -mfpu=vfp -mfloat-abi=softfp -fomit-frame-pointer"
#RUSTFLAGS="-Ccodegen-units=1"
;;
riscv64)
@ -267,8 +267,8 @@ configure_build_guess() {
echo "aarch64"
;;
armv7*|armv6*|armv5*)
echo "armv5tel"
armv7*|armv6*)
echo "armv6l"
;;
riscv64)
@ -1003,10 +1003,10 @@ buildtoolchain() {
# These are working.
;;
armv5tel:armv5tel|armv5tel:armv5tejl|armv5tel:armv6l|armv5tel:armv7l|armv5tel:aarch64)
armv6l:armv6l|armv6l:armv7l|armv6l:aarch64)
# These are working.
;;
armv5tel:*)
armv6l:*)
error=true
;;
esac
@ -1667,8 +1667,8 @@ buildpackages() {
cd $BASEDIR
# remove not useable iso on armv5tel (needed to build flash images)
[ "${BUILD_ARCH}" = "armv5tel" ] && rm -rf *.iso
# remove not useable iso on armv6l (needed to build flash images)
[ "${BUILD_ARCH}" = "armv6l" ] && rm -rf *.iso
for i in $(ls *.bz2 *.img.xz *.iso 2>/dev/null); do
md5sum $i > $i.md5

View File

@ -28,7 +28,7 @@ case "${1}" in
case "${arch}" in
i?86 ) arch="i586";
;;
armv*) arch="armv5tel":
armv*) arch="armv6l":
;;
esac
if [ -f "/etc/sysctl-${arch}.conf" ]; then