From 7b79c0a6e6a3e9b129d7658873f5b66231f97418 Mon Sep 17 00:00:00 2001 From: Markham Date: Thu, 11 Jul 2024 14:55:00 +0200 Subject: [PATCH] updates and fixes for gcc-14.1.0 --- make/crosstool-arm.mk | 24 +++++++++++++----------- make/environment-build.mk | 13 ++++++++++--- make/ffmpeg.mk | 14 +------------- make/ffmpeg6.mk | 6 +++--- make/multimedia.mk | 7 ++++++- make/versions.mk | 6 +++--- 6 files changed, 36 insertions(+), 34 deletions(-) diff --git a/make/crosstool-arm.mk b/make/crosstool-arm.mk index 37aa00a..046696e 100644 --- a/make/crosstool-arm.mk +++ b/make/crosstool-arm.mk @@ -4,12 +4,14 @@ # crosstool-ng # ifeq ($(BOXTYPE), armbox) -CROSSTOOL_NG_SOURCE = crosstool-ng-$(CROSSTOOL_NG_VER).tar.bz2 +CT_NG_PREFIX = crosstool-ng-git +CT_NG_SUFFIX = tar.gz +CROSSTOOL_NG_SOURCE = $(CT_NG_PREFIX)-$(CROSSTOOL_NG_VER).$(CT_NG_SUFFIX) ifeq ($(BOXSERIES),hd5x) -CT-NG_CONFIG = ct-ng-$(CROSSTOOL_NG_VER)_$(GCC_VER_ARM)_arm_hd5x.config +CT_NG_CONFIG = ct-ng-git-$(CROSSTOOL_NG_VER)-$(GCC_VER_ARM)_arm_hd5x.config else ifeq ($(BOXSERIES),hd6x) -CT_NG_CONFIG = ct-ng-$(CROSSTOOL_NG_VER)_$(GCC_VER_ARM)_arm_hd6x.config +CT_NG_CONFIG = ct-ng-git-$(CROSSTOOL_NG_VER)-$(GCC_VER_ARM)_arm_hd6x.config endif @@ -23,11 +25,11 @@ crosstool: crosstool-ng: $(ARCHIVE)/$(KERNEL_SRC) $(ARCHIVE)/$(CROSSTOOL_NG_SOURCE) make $(BUILD_TMP) mkdir -p $(CROSS_BASE) - $(REMOVE)/crosstool-ng-$(CROSSTOOL_NG_VER) + $(REMOVE)/$(CT_NG_PREFIX)-$(CROSSTOOL_NG_VER) $(UNTAR)/$(CROSSTOOL_NG_SOURCE) cp -a $(CUSTOM_KERNEL) $(BUILD_TMP)/linux-$(KERNEL_VER).tar.gz unset CONFIG_SITE LIBRARY_PATH CPATH C_INCLUDE_PATH PKG_CONFIG_PATH CPLUS_INCLUDE_PATH INCLUDE; \ - set -e; cd $(BUILD_TMP)/crosstool-ng-$(CROSSTOOL_NG_VER); \ + set -e; cd $(BUILD_TMP)/$(CT_NG_PREFIX)-$(CROSSTOOL_NG_VER); \ cp -a $(PATCHES)/ct-ng/$(CT_NG_CONFIG) .config; \ NUM_CPUS=$$(expr `getconf _NPROCESSORS_ONLN` \* 2); \ MEM_512M=$$(awk '/MemTotal/ {M=int($$2/1024/512); print M==0?1:M}' /proc/meminfo); \ @@ -37,7 +39,7 @@ crosstool-ng: $(ARCHIVE)/$(KERNEL_SRC) $(ARCHIVE)/$(CROSSTOOL_NG_SOURCE) \ export CT_AAA_ARCHIVE=$(ARCHIVE); \ export CT_AAA_BASE_DIR=$(CROSS_BASE); \ - export CT_AAA_CUSTOM_KERNEL=$(BUILD_TMP)/linux-$(KERNEL_VER).tar.gz; \ + export CT_AAA_CUSTOM_KERNEL=$(BUILD_TMP)/linux-$(KERNEL_VER).$(CT_NG_SUFFIX); \ \ test -f ./configure || ./bootstrap && \ ./configure --enable-local; \ @@ -48,15 +50,15 @@ crosstool-ng: $(ARCHIVE)/$(KERNEL_SRC) $(ARCHIVE)/$(CROSSTOOL_NG_SOURCE) chmod -R +w $(CROSS_BASE) test -e $(CROSS_BASE)/$(TARGET)/lib || ln -sf sys-root/lib $(CROSS_BASE)/$(TARGET)/ rm -f $(CROSS_BASE)/$(TARGET)/sys-root/lib/libstdc++.so.6.*-gdb.py - $(REMOVE)/crosstool-ng-$(CROSSTOOL_NG_VER) + $(REMOVE)/$(CT_NG_PREFIX)-$(CROSSTOOL_NG_VER) $(REMOVE)/linux-$(KERNEL_VER).tar.gz endif -crossmenuconfig: prerequisites | $(ARCHIVE)/$(CROSSTOOL_NG_SOURCE) - $(REMOVE)/crosstool-ng-$(CROSSTOOL_NG_VER) +crossmenuconfig: prerequisites $(ARCHIVE)/$(CROSSTOOL_NG_SOURCE) | $(BUILD_TMP) + $(REMOVE)/$(CT_NG_PREFIX)-$(CROSSTOOL_NG_VER) $(UNTAR)/$(CROSSTOOL_NG_SOURCE) - set -e; unset CONFIG_SITE; cd $(BUILD_TMP)/crosstool-ng-$(CROSSTOOL_NG_VER); \ - cp -a $(PATCHES)/ct-ng/$(CT-NG_CONFIG) .config; \ + set -e; unset CONFIG_SITE; cd $(BUILD_TMP)/$(CT_NG_PREFIX)-$(CROSSTOOL_NG_VER); \ + cp -a $(PATCHES)/ct-ng/$(CT_NG_CONFIG) .config; \ test -f ./configure || ./bootstrap && \ ./configure --enable-local; \ MAKELEVEL=0 make; \ diff --git a/make/environment-build.mk b/make/environment-build.mk index 0fe8c3e..dba3f56 100755 --- a/make/environment-build.mk +++ b/make/environment-build.mk @@ -125,13 +125,13 @@ else ifeq ($(BOXSERIES), hd2) else ifeq ($(BOXSERIES),$(filter $(BOXSERIES), hd5x hd6x)) CORTEX-STRINGS = -lcortex-strings TARGET = arm-cortex-linux-gnueabihf - TARGET_O_CFLAGS = -O2 -flto + TARGET_O_CFLAGS = -O2 TARGET_ARCH = arm TARGET_CPU = armv7ve TARGET_ABI = -march=$(TARGET_CPU) -mtune=cortex-a15 -mfpu=neon-vfpv4 -mfloat-abi=hard TARGET_ENDIAN = little - TARGET_EXTRA_CFLAGS = - TARGET_EXTRA_LDFLAGS = -flto + TARGET_EXTRA_CFLAGS = -Wno-implicit-function-declaration + TARGET_EXTRA_LDFLAGS = CXX11_ABI = else @@ -256,6 +256,13 @@ BUILDENV = \ LDFLAGS="$(TARGET_LDFLAGS)" \ PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) +BUILDENV_NO_LTO = \ + CFLAGS="$(filter-out -flto,$(TARGET_CFLAGS))" \ + CPPFLAGS="$(filter-out -flto,$(TARGET_CPPFLAGS))" \ + CXXFLAGS="$(filter-out -flto,$(TARGET_CXXFLAGS))" \ + LDFLAGS="$(filter-out -flto,$(TARGET_LDFLAGS))" \ + PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) + CONFIGURE_OPTS = \ --build=$(BUILD) \ --host=$(TARGET) diff --git a/make/ffmpeg.mk b/make/ffmpeg.mk index 09c4baf..ffb4fe4 100644 --- a/make/ffmpeg.mk +++ b/make/ffmpeg.mk @@ -440,8 +440,6 @@ FFMPEG_CONFIGURE += --cpu=cortex-a9 --enable-vfp --extra-cflags='-mfpu=vfpv3-d16 endif ifeq ($(BOXSERIES), $(filter $(BOXSERIES), hd1)) -FF_TARGET_CFLAGS = "-pipe -O3 $(TARGET_ABI) $(TARGET_EXTRA_CFLAGS) $(CXX11_ABI) -g -I$(TARGETPREFIX)/include" -FF_TARGET_LDFLAGS = "-O1 -Wl,-rpath,$(TARGETLIB) -Wl,-rpath-link,$(TARGETLIB) -L$(TARGETLIB) -Wl,--gc-sections" FFMPEG_CONFIGURE += --disable-iconv FFMPEG_CONFIGURE += --cpu=armv6 --disable-vfp endif @@ -518,8 +516,6 @@ ffmpeg-armbox: $(ARCHIVE)/ffmpeg-$(FFMPEG_VER).tar.xz | $(TARGETPREFIX) $(REMOVE)/ffmpeg-$(FFMPEG_VER) ffmpeg-coolstream: $(ARCHIVE)/ffmpeg-$(FFMPEG_VER).tar.xz | $(TARGETPREFIX) - echo `env | grep CFLAGS` - echo "#######" $(START_BUILD) $(REMOVE)/ffmpeg-$(FFMPEG_VER) $(UNTAR)/ffmpeg-$(FFMPEG_VER).tar.xz @@ -528,20 +524,12 @@ ffmpeg-coolstream: $(ARCHIVE)/ffmpeg-$(FFMPEG_VER).tar.xz | $(TARGETPREFIX) echo -e "==> $(TERM_RED)Applying Patch:$(TERM_NORMAL) $$i"; \ patch -p1 < $$i; \ done; \ - $(BUILDENV) && \ - if [ "$(BOXSERIES)" = "hd1" ]; then \ - CFLAGS=$(FF_TARGET_CFLAGS); \ - CPPFLAGS=$(FF_TARGET_CFLAGS); \ - CXXFLAGS=$(FF_TARGET_CFLAGS); \ - LDFLAGS=$(FF_TARGET_LDFLAGS); \ - fi; \ + $(BUILDENV_NO_LTO) \ ./configure \ $(FFMPEG_CONFIGURE) \ $(FFMPEG_CONF_OPTS); \ $(MAKE) && \ $(MAKE) install DESTDIR=$(TARGETPREFIX) - echo `env | grep CFLAGS` - echo "#######" $(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/libavfilter.pc $(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/libavdevice.pc $(REWRITE_PKGCONF) $(PKG_CONFIG_PATH)/libavformat.pc diff --git a/make/ffmpeg6.mk b/make/ffmpeg6.mk index 815f907..1ea084c 100644 --- a/make/ffmpeg6.mk +++ b/make/ffmpeg6.mk @@ -451,7 +451,7 @@ endif ifeq ($(BOXSERIES), $(filter $(BOXSERIES), hd1)) FFMPEG_CONFIGURE += --disable-iconv -FFMPEG_CONFIGURE += --cpu=armv6 --enable-armv6 --disable-vfp --extra-cflags="-I$(TARGETPREFIX)/include" +FFMPEG_CONFIGURE += --cpu=armv6 --disable-vfp endif ifeq ($(BOXTYPE), armbox) @@ -512,7 +512,7 @@ ffmpeg-armbox: $(ARCHIVE)/ffmpeg-$(FFMPEG_VER).tar.xz | $(TARGETPREFIX) echo -e "==> $(TERM_RED)Applying Patch:$(TERM_NORMAL) $$i"; \ patch -p1 < $$i; \ done; \ - $(BUILDENV) \ + $(BUILDENV_NO_LTO) \ ./configure \ $(FFMPEG_CONFIGURE) \ $(FFMPEG_CONF_OPTS); \ @@ -536,7 +536,7 @@ ffmpeg-coolstream: $(ARCHIVE)/ffmpeg-$(FFMPEG_VER).tar.xz | $(TARGETPREFIX) echo -e "==> $(TERM_RED)Applying Patch:$(TERM_NORMAL) $$i"; \ patch -p1 < $$i; \ done; \ - $(BUILDENV) \ + $(BUILDENV_NO_LTO) \ ./configure \ $(FFMPEG_CONFIGURE) \ $(FFMPEG_CONF_OPTS); \ diff --git a/make/multimedia.mk b/make/multimedia.mk index 9fb27a0..e52e5c6 100755 --- a/make/multimedia.mk +++ b/make/multimedia.mk @@ -149,11 +149,16 @@ ALSA-LIB_PATCH += 0001-Don-t-use-fork-on-noMMU-platforms.patch $(D)/alsa-lib: $(ARCHIVE)/alsa-lib-$(ALSA_LIB_VER).tar.bz2 | $(TARGETPREFIX) $(START_BUILD) + $(REMOVE)/alsa-lib-$(ALSA_LIB_VER) $(UNTAR)/alsa-lib-$(ALSA_LIB_VER).tar.bz2 set -e; cd $(BUILD_TMP)/alsa-lib-$(ALSA_LIB_VER); \ $(call apply_patches, $(addprefix alsa-lib/, $(ALSA-LIB_PATCH))); \ - autoreconf -fi; \ + autoreconf; \ $(CONFIGURE) \ + CFLAGS="$(filter-out -flto,$(TARGET_CFLAGS))" \ + CPPFLAGS="$(filter-out -flto,$(TARGET_CPPFLAGS))" \ + CXXFLAGS="$(filter-out -flto,$(TARGET_CXXFLAGS))" \ + LDFLAGS="$(filter-out -flto,$(TARGET_LDFLAGS))" \ --prefix= \ --datarootdir=/.remove \ --with-alsa-devdir=/dev/snd/ \ diff --git a/make/versions.mk b/make/versions.mk index 4fde79f..e9477be 100644 --- a/make/versions.mk +++ b/make/versions.mk @@ -1,7 +1,7 @@ # versions # The Advanced Linux Sound Architecture (ALSA) provides audio and MIDI functionality to the Linux operating system. -ALSA_LIB_VER = 1.2.6.1 +ALSA_LIB_VER = 1.2.12 AUTOFS4_VER = 4.1.4 @@ -22,7 +22,7 @@ CORTEX_STRINGS_VER = 48fd30c #CT_NG_VER_HD1 = 1.26.0 CT_NG_VER_HD1 = 839bfbe CT_NG_VER_HD2 = 839bfbe -CT_NG_VER_ARM = 1.26.0 +CT_NG_VER_ARM = 839bfbe # Ethtool is a utility for configuration of Network Interface Cards ( NICs ) ETHTOOL_VER = 6.0 @@ -31,7 +31,7 @@ ETHTOOL_VER = 6.0 GCC_VER_HD1 = gcc-14.1.0 #GCC_VER_HD1 = linaro-4.9-2017.01 GCC_VER_HD2 = gcc-13.3.0 -GCC_VER_ARM = gcc-13.2.0 +GCC_VER_ARM = gcc-14.1.0 # Dropbear is a relatively small SSH server and client DROPBEAR_VER=2024.85 -- 2.39.5