From c7531673a0f8026574e797cd6d43251bca48dfa8 Mon Sep 17 00:00:00 2001 From: Giulio Benetti Date: Wed, 28 Sep 2022 21:28:02 +0200 Subject: [PATCH] package/rtl8189es: fix build failure due to wrong endianness At the moment rtl8189es module has -DCONFIG_LITTLE_ENDIAN hardcoded and there is no way to override it. So to do this let's add a patch that is pending upstream[1] to allow to override CFLAGS and then let's undefine CONFIG_LITTLE_ENDIAN and define the correct endianness in rtl8189es.mk Fixes: http://autobuild.buildroot.net/results/3bcad5e88876c86a2a3338961ed20f28b5953779/ [1]: https://github.com/jwrdegoede/rtl8189ES_linux/pull/83 Signed-off-by: Giulio Benetti Signed-off-by: Thomas Petazzoni (cherry picked from commit 79a1c5dcadc97f3dad6d95bea2184a92f991bb04) Signed-off-by: Peter Korsgaard --- ...TRA_CFLAGS-USER_EXTRA_CFLAGS-at-the-.patch | 40 +++++++++++++++++++ package/rtl8189es/rtl8189es.mk | 8 +++- 2 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 package/rtl8189es/0001-Makefile-move-EXTRA_CFLAGS-USER_EXTRA_CFLAGS-at-the-.patch diff --git a/package/rtl8189es/0001-Makefile-move-EXTRA_CFLAGS-USER_EXTRA_CFLAGS-at-the-.patch b/package/rtl8189es/0001-Makefile-move-EXTRA_CFLAGS-USER_EXTRA_CFLAGS-at-the-.patch new file mode 100644 index 0000000000..dc4deff9f1 --- /dev/null +++ b/package/rtl8189es/0001-Makefile-move-EXTRA_CFLAGS-USER_EXTRA_CFLAGS-at-the-.patch @@ -0,0 +1,40 @@ +From 4a555ffb77a5947814b6c7f330968318e265c496 Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Wed, 28 Sep 2022 21:17:17 +0200 +Subject: [PATCH] Makefile: move 'EXTRA_CFLAGS += $(USER_EXTRA_CFLAGS)' at the + end of EXTRA_FLAGS assignment + +At the moment USER_EXTRA_CFLAGS can't override local Makfile EXTRA_CFLAGS +since it's assigned at the beginning of the Makefile. For example it's not +possible to undefine the hardcoded CONFIG_LITTLE_ENDIAN and this doesn't +allow to build these modules for big endian architectures. So let's move +the assignment of USER_EXTRA_CFLAGS to EXTRA_CFLAGS after the last +EXTRA_CFLAGS assignment. + +Signed-off-by: Giulio Benetti +[Upstream status: https://github.com/jwrdegoede/rtl8189ES_linux/pull/83] +--- + Makefile | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 8fcb7bd..e4664e9 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,4 +1,3 @@ +-EXTRA_CFLAGS += $(USER_EXTRA_CFLAGS) + EXTRA_CFLAGS += -O1 + #EXTRA_CFLAGS += -O3 + #EXTRA_CFLAGS += -Wall +@@ -2239,6 +2238,8 @@ ifneq ($(USER_MODULE_NAME),) + MODULE_NAME := $(USER_MODULE_NAME) + endif + ++EXTRA_CFLAGS += $(USER_EXTRA_CFLAGS) ++ + ifneq ($(KERNELRELEASE),) + + ########### this part for *.mk ############################ +-- +2.34.1 + diff --git a/package/rtl8189es/rtl8189es.mk b/package/rtl8189es/rtl8189es.mk index 2fa6a3a483..cddcb195f9 100644 --- a/package/rtl8189es/rtl8189es.mk +++ b/package/rtl8189es/rtl8189es.mk @@ -8,10 +8,16 @@ RTL8189ES_VERSION = 39c17661136da48f8e9c644194dce6a7f5076896 RTL8189ES_SITE = $(call github,jwrdegoede,rtl8189ES_linux,$(RTL8189ES_VERSION)) RTL8189ES_LICENSE = GPL-2.0 +# Undefine the hardcoded CONFIG_LITTLE_ENDIAN +RTL8189ES_USER_EXTRA_CLAGS = -UCONFIG_LITTLE_ENDIAN +# Set endianness +RTL8189ES_USER_EXTRA_CLAGS += -DCONFIG_$(call qstrip,$(BR2_ENDIAN))_ENDIAN + RTL8189ES_MODULE_MAKE_OPTS = \ CONFIG_RTL8189ES=m \ KVER=$(LINUX_VERSION_PROBED) \ - KSRC=$(LINUX_DIR) + KSRC=$(LINUX_DIR) \ + USER_EXTRA_CFLAGS="$(RTL8189ES_USER_EXTRA_CLAGS)" define RTL8189ES_LINUX_CONFIG_FIXUPS $(call KCONFIG_ENABLE_OPT,CONFIG_NET)