diff mbox series

[3/3] package/rtl8189fs: fix big-endian builds

Message ID 20220509060721.2726047-4-geomatsi@gmail.com
State Accepted
Headers show
Series package/rtl8189s: fixes for autobuilder failures | expand

Commit Message

Sergey Matyukevich May 9, 2022, 6:07 a.m. UTC
Fix rtl8189fs builds for big-endian platforms. For this purpose remove
default little-endian configuration option from rtl8189fs Makefile.
Configure proper endianness using USER_EXTRA_CFLAGS instead.

Fixes:
- http://autobuild.buildroot.net/results/51e95561103e40ae94f38b9bb944bdfcd4ab50ed/
- http://autobuild.buildroot.net/results/8ac7921926ab48aeb95dc4ea20f3c9970094c71d/
- http://autobuild.buildroot.net/results/7f0bdd03c41bcc9e567fe722ed271e5dcf210f44/

Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
---
 ...1-Makefile-remove-default-endianness.patch | 30 +++++++++++++++++++
 package/rtl8189fs/rtl8189fs.mk                |  3 +-
 2 files changed, 32 insertions(+), 1 deletion(-)
 create mode 100644 package/rtl8189fs/0001-Makefile-remove-default-endianness.patch

Comments

Arnout Vandecappelle May 13, 2022, 9:08 p.m. UTC | #1
On 09/05/2022 08:07, Sergey Matyukevich wrote:
> Fix rtl8189fs builds for big-endian platforms. For this purpose remove
> default little-endian configuration option from rtl8189fs Makefile.
> Configure proper endianness using USER_EXTRA_CFLAGS instead.
> 
> Fixes:
> - http://autobuild.buildroot.net/results/51e95561103e40ae94f38b9bb944bdfcd4ab50ed/
> - http://autobuild.buildroot.net/results/8ac7921926ab48aeb95dc4ea20f3c9970094c71d/
> - http://autobuild.buildroot.net/results/7f0bdd03c41bcc9e567fe722ed271e5dcf210f44/
> 
> Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>

  Series applied to master. However...

> ---
>   ...1-Makefile-remove-default-endianness.patch | 30 +++++++++++++++++++
>   package/rtl8189fs/rtl8189fs.mk                |  3 +-
>   2 files changed, 32 insertions(+), 1 deletion(-)
>   create mode 100644 package/rtl8189fs/0001-Makefile-remove-default-endianness.patch
> 
> diff --git a/package/rtl8189fs/0001-Makefile-remove-default-endianness.patch b/package/rtl8189fs/0001-Makefile-remove-default-endianness.patch
> new file mode 100644
> index 0000000000..47e42415eb
> --- /dev/null
> +++ b/package/rtl8189fs/0001-Makefile-remove-default-endianness.patch
> @@ -0,0 +1,30 @@
> +From 480d9da302885d9e8b3d1f9c68def569e3c8a8c0 Mon Sep 17 00:00:00 2001
> +From: Sergey Matyukevich <geomatsi@gmail.com>
> +Date: Mon, 9 May 2022 00:17:21 +0300
> +Subject: [PATCH] Makefile: remove default endianness
> +
> +There is no way to remove configuration options from EXTRA_CFLAGS
> +without editing Makefile. So default LE configuration can not be
> +conveniently replaced by BE. Remove default endianness from the
> +Makefile to enable its configuration via USER_EXTRA_CFLAGS.

  I don't know if it works, but if USER_EXTRA_CFLAGS is added _after_ 
EXTRA_CFLAGS, you can still override it with:

USER_EXTRA_CFLAGS="-UCONFIG_LITTLE_ENDIAN -DCONFIG_$(call 
qstrip,$(BR2_ENDIAN))_ENDIAN"

or, simpler:

ifeq ($(BR2_ENDIAN),"BIG")
USER_EXTRA_CFLAGS="-UCONFIG_LITTLE_ENDIAN -DCONFIG_BIG_ENDIAN"
endif

If USER_EXTRA_CFLAGS comes before, then there's indeed nothing you can do. In 
that case, please send the patch upstream.

  Regards,
  Arnout

> +
> +Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
> +---
> + Makefile | 1 -
> + 1 file changed, 1 deletion(-)
> +
> +diff --git a/Makefile b/Makefile
> +index dfca305..fde4e6b 100644
> +--- a/Makefile
> ++++ b/Makefile
> +@@ -22,7 +22,6 @@ endif
> +
> + EXTRA_CFLAGS += -I$(src)/include
> +
> +-EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN
> + EXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211 -DRTW_USE_CFG80211_STA_EVENT
> +
> + EXTRA_LDFLAGS += --strip-debug
> +--
> +2.35.1
> +
> diff --git a/package/rtl8189fs/rtl8189fs.mk b/package/rtl8189fs/rtl8189fs.mk
> index 6031a3072c..1c398919ba 100644
> --- a/package/rtl8189fs/rtl8189fs.mk
> +++ b/package/rtl8189fs/rtl8189fs.mk
> @@ -11,7 +11,8 @@ RTL8189FS_LICENSE = GPL-2.0
>   RTL8189FS_MODULE_MAKE_OPTS = \
>   	CONFIG_RTL8189FS=m \
>   	KVER=$(LINUX_VERSION_PROBED) \
> -	KSRC=$(LINUX_DIR)
> +	KSRC=$(LINUX_DIR) \
> +	USER_EXTRA_CFLAGS="-DCONFIG_$(call qstrip,$(BR2_ENDIAN))_ENDIAN"
>   
>   define RTL8189FS_LINUX_CONFIG_FIXUPS
>   	$(call KCONFIG_ENABLE_OPT,CONFIG_WIRELESS)
Peter Korsgaard May 28, 2022, 7:19 p.m. UTC | #2
>>>>> "Sergey" == Sergey Matyukevich <geomatsi@gmail.com> writes:

 > Fix rtl8189fs builds for big-endian platforms. For this purpose remove
 > default little-endian configuration option from rtl8189fs Makefile.
 > Configure proper endianness using USER_EXTRA_CFLAGS instead.

 > Fixes:
 > - http://autobuild.buildroot.net/results/51e95561103e40ae94f38b9bb944bdfcd4ab50ed/
 > - http://autobuild.buildroot.net/results/8ac7921926ab48aeb95dc4ea20f3c9970094c71d/
 > - http://autobuild.buildroot.net/results/7f0bdd03c41bcc9e567fe722ed271e5dcf210f44/

 > Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>

Committed to 2022.02.x, thanks.
diff mbox series

Patch

diff --git a/package/rtl8189fs/0001-Makefile-remove-default-endianness.patch b/package/rtl8189fs/0001-Makefile-remove-default-endianness.patch
new file mode 100644
index 0000000000..47e42415eb
--- /dev/null
+++ b/package/rtl8189fs/0001-Makefile-remove-default-endianness.patch
@@ -0,0 +1,30 @@ 
+From 480d9da302885d9e8b3d1f9c68def569e3c8a8c0 Mon Sep 17 00:00:00 2001
+From: Sergey Matyukevich <geomatsi@gmail.com>
+Date: Mon, 9 May 2022 00:17:21 +0300
+Subject: [PATCH] Makefile: remove default endianness
+
+There is no way to remove configuration options from EXTRA_CFLAGS
+without editing Makefile. So default LE configuration can not be
+conveniently replaced by BE. Remove default endianness from the
+Makefile to enable its configuration via USER_EXTRA_CFLAGS.
+
+Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
+---
+ Makefile | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index dfca305..fde4e6b 100644
+--- a/Makefile
++++ b/Makefile
+@@ -22,7 +22,6 @@ endif
+ 
+ EXTRA_CFLAGS += -I$(src)/include
+ 
+-EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN
+ EXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211 -DRTW_USE_CFG80211_STA_EVENT
+ 
+ EXTRA_LDFLAGS += --strip-debug
+-- 
+2.35.1
+
diff --git a/package/rtl8189fs/rtl8189fs.mk b/package/rtl8189fs/rtl8189fs.mk
index 6031a3072c..1c398919ba 100644
--- a/package/rtl8189fs/rtl8189fs.mk
+++ b/package/rtl8189fs/rtl8189fs.mk
@@ -11,7 +11,8 @@  RTL8189FS_LICENSE = GPL-2.0
 RTL8189FS_MODULE_MAKE_OPTS = \
 	CONFIG_RTL8189FS=m \
 	KVER=$(LINUX_VERSION_PROBED) \
-	KSRC=$(LINUX_DIR)
+	KSRC=$(LINUX_DIR) \
+	USER_EXTRA_CFLAGS="-DCONFIG_$(call qstrip,$(BR2_ENDIAN))_ENDIAN"
 
 define RTL8189FS_LINUX_CONFIG_FIXUPS
 	$(call KCONFIG_ENABLE_OPT,CONFIG_WIRELESS)