All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0/2 v2] linux|uboot: fix build with host-gcc 10+ for older versions (branch yem/yylloc)
@ 2022-01-31 21:38 Yann E. MORIN
  2022-01-31 21:38 ` [Buildroot] [PATCH 1/2 v2] boot/uboot: fix build with host-gcc 10+ Yann E. MORIN
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Yann E. MORIN @ 2022-01-31 21:38 UTC (permalink / raw)
  To: buildroot; +Cc: Yann E . MORIN, Thomas Petazzoni

Hello All!

This two-patch series aims at side-stepping the multiple symbol
declaration in older Linux and U-Boot, where the infamous yylloc is
defined more than once.

Like we have a fix for the perl timeconst issue in linux, do s similar
tweak for yylloc in the two packages known to be affected, Linux and
U-Boot.

Here is a pipeline with all the defconfig builds:
    https://gitlab.com/ymorin/buildroot/-/pipelines/460207930

There are still some failures, but none relate to the yylloc issue:

  - too long build time or not space left on device (I am only using
    elastic runners)

  - defconfig not up-to-date (e.g. using kernel headers version since
    removed)

  - missing host dependencies for kernel (openssl, libelf) or uboot
    (python)

  - another host-gcc 10+ symbol redefinition issue (galileo [0])

  - make 4.3 issues. For example: amarula_a64_relic_defconfig
    https://gitlab.com/ymorin/buildroot/-/jobs/2035820886

      DTC     arch/arm/dts/sun50i-a64-amarula-relic.dtb
    Error: arch/arm/dts/.sun50i-a64-amarula-relic.dtb.pre.tmp:66.1-10 syntax error
    FATAL ERROR: Unable to parse input tree

    This is caused by make 4.3 that no longer treats '#' as special in
    macros, and shall no longer be escaped:
        https://lwn.net/Articles/810071/

    This causes '\#include "something"' to be injected as-is at the end
    of the temporary DTS, and of course, dtc does not cope nicely with
    that... [1]

    Unfortuantely, I don't think we can do a generic fixup for that
    one...

  - some other issues (e.g. deprecated 'partition-type' for geniamge..)

[0] this was fixed in 2014 in the kernel:
      - eeeda4cd06e828b331b15741a204ff9f5874d28d
[1] this was fixed in 2018 in uboot:
      - e5e701c2b8470de044c5c71d2a54ecfc72680d59
      - 0c544115379ed77c1843a194e26960e5b8f3d369

Changes v1 -> v2:
  - don't fail if no file to fix: use 'grep -Z |xargs -0 -r' (Arnout)
  - extend cover-ltter with a pipeline reference and analysese of
    remaining build failures

Regards,
Yann E. MORIN.


----------------------------------------------------------------
Yann E. MORIN (2):
      boot/uboot: fix build with host-gcc 10+
      linux: fix build with host-gcc 10+

 boot/uboot/uboot.mk | 7 +++++++
 linux/linux.mk      | 7 +++++++
 2 files changed, 14 insertions(+)

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 1/2 v2] boot/uboot: fix build with host-gcc 10+
  2022-01-31 21:38 [Buildroot] [PATCH 0/2 v2] linux|uboot: fix build with host-gcc 10+ for older versions (branch yem/yylloc) Yann E. MORIN
@ 2022-01-31 21:38 ` Yann E. MORIN
  2022-02-04 10:40   ` Giulio Benetti
  2022-02-27 19:24   ` Peter Korsgaard
  2022-01-31 21:38 ` [Buildroot] [PATCH 2/2 v2] linux: " Yann E. MORIN
  2022-02-12 20:38 ` [Buildroot] [PATCH 0/2 v2] linux|uboot: fix build with host-gcc 10+ for older versions (branch yem/yylloc) Arnout Vandecappelle
  2 siblings, 2 replies; 9+ messages in thread
From: Yann E. MORIN @ 2022-01-31 21:38 UTC (permalink / raw)
  To: buildroot; +Cc: Yann E. MORIN, Thomas Petazzoni

Some older versions of U-Boot, or custom versions (like forks for some
boards), fail to build with host-gcc 10+, because of redefined symbols:

      HOSTLD  scripts/dtc/dtc
    /usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x10): multiple definition
    of `yylloc'; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0): first defined here
    collect2: error: ld returned 1 exit status
    make[4]: *** [scripts/Makefile.host:106: scripts/dtc/dtc] E

Since this has been fixed in recent-ish versions, we can't use an
unconditionaly patch, so we must have a conditional patch. However, a
patch may not always apply to arbitrary U-Boot versions or forks.

Upstream just dropped that line altogether:
    https://source.denx.de/u-boot/u-boot/-/commit/018921ee79d3f30893614b3b2b63b588d8544f73

So, we use a little sed-grep combo to do the exact same change.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

---
Changes v1 -> v2:
  - don't fail if no file to fix: use 'grep -Z |xargs -0 -r' (Arnout)
---
 boot/uboot/uboot.mk | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk
index 574fc7089a..21db1d9d60 100644
--- a/boot/uboot/uboot.mk
+++ b/boot/uboot/uboot.mk
@@ -244,6 +244,13 @@ endef
 UBOOT_POST_EXTRACT_HOOKS += UBOOT_COPY_OLD_LICENSE_FILE
 UBOOT_POST_RSYNC_HOOKS += UBOOT_COPY_OLD_LICENSE_FILE
 
+# Older versions break on gcc 10+ because of redefined symbols
+define UBOOT_DROP_YYLLOC
+	$(Q)grep -Z -l -r -E '^YYLTYPE yylloc;$$' $(@D) \
+	|xargs -0 -r $(SED) '/^YYLTYPE yylloc;$$/d'
+endef
+UBOOT_POST_PATCH_HOOKS += UBOOT_DROP_YYLLOC
+
 ifneq ($(ARCH_XTENSA_OVERLAY_FILE),)
 define UBOOT_XTENSA_OVERLAY_EXTRACT
 	$(call arch-xtensa-overlay-extract,$(@D),u-boot)
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [Buildroot] [PATCH 2/2 v2] linux: fix build with host-gcc 10+
  2022-01-31 21:38 [Buildroot] [PATCH 0/2 v2] linux|uboot: fix build with host-gcc 10+ for older versions (branch yem/yylloc) Yann E. MORIN
  2022-01-31 21:38 ` [Buildroot] [PATCH 1/2 v2] boot/uboot: fix build with host-gcc 10+ Yann E. MORIN
@ 2022-01-31 21:38 ` Yann E. MORIN
  2022-01-31 22:10   ` Peter Seiderer
                     ` (2 more replies)
  2022-02-12 20:38 ` [Buildroot] [PATCH 0/2 v2] linux|uboot: fix build with host-gcc 10+ for older versions (branch yem/yylloc) Arnout Vandecappelle
  2 siblings, 3 replies; 9+ messages in thread
From: Yann E. MORIN @ 2022-01-31 21:38 UTC (permalink / raw)
  To: buildroot; +Cc: Yann E. MORIN, Thomas Petazzoni

Some older versions of linux, or custom versions (like forks for some
boards), fail to build with host-gcc 10+, because of redefined symbols:

      HOSTLD  scripts/dtc/dtc
    /usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x10): multiple definition
    of `yylloc'; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0): first defined here
    collect2: error: ld returned 1 exit status

Since this has been fixed in recent-ish versions, we can't use an
unconditionaly patch, so we must have a conditional patch. However, a
patch may not always apply to arbitrary U-Boot versions or forks.

Upstream just dropped that line altogether:
    https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e33a814e772cdc36436c8c188d8c42d019fda639

So, we use a little sed-grep combo to do the exact same change.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

---
Changes v1 -> v2:
  - don't fail if no file to fix: use 'grep -Z |xargs -0 -r' (Arnout)
---
 linux/linux.mk | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/linux/linux.mk b/linux/linux.mk
index dd2eebd446..410b714360 100644
--- a/linux/linux.mk
+++ b/linux/linux.mk
@@ -268,6 +268,13 @@ endef
 
 LINUX_POST_PATCH_HOOKS += LINUX_APPLY_LOCAL_PATCHES
 
+# Older versions break on gcc 10+ because of redefined symbols
+define LINUX_DROP_YYLLOC
+	$(Q)grep -Z -l -r -E '^YYLTYPE yylloc;$$' $(@D) \
+	|xargs -0 -r $(SED) '/^YYLTYPE yylloc;$$/d'
+endef
+LINUX_POST_PATCH_HOOKS += LINUX_DROP_YYLLOC
+
 # Older linux kernels use deprecated perl constructs in timeconst.pl
 # that were removed for perl 5.22+ so it breaks on newer distributions
 # Try a dry-run patch to see if this applies, if it does go ahead
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [Buildroot] [PATCH 2/2 v2] linux: fix build with host-gcc 10+
  2022-01-31 21:38 ` [Buildroot] [PATCH 2/2 v2] linux: " Yann E. MORIN
@ 2022-01-31 22:10   ` Peter Seiderer
  2022-02-04 10:41   ` Giulio Benetti
  2022-02-27 19:24   ` Peter Korsgaard
  2 siblings, 0 replies; 9+ messages in thread
From: Peter Seiderer @ 2022-01-31 22:10 UTC (permalink / raw)
  To: Yann E. MORIN; +Cc: Thomas Petazzoni, buildroot

Hello Yann,

one nitpick...

On Mon, 31 Jan 2022 22:38:09 +0100, "Yann E. MORIN" <yann.morin.1998@free.fr> wrote:

> Some older versions of linux, or custom versions (like forks for some
> boards), fail to build with host-gcc 10+, because of redefined symbols:
>
>       HOSTLD  scripts/dtc/dtc
>     /usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x10): multiple definition
>     of `yylloc'; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0): first defined here
>     collect2: error: ld returned 1 exit status
>
> Since this has been fixed in recent-ish versions, we can't use an
> unconditionaly patch, so we must have a conditional patch. However, a
> patch may not always apply to arbitrary U-Boot versions or forks.

s/U-Boot/Linux kernel/

Regards,
Peter

>
> Upstream just dropped that line altogether:
>     https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e33a814e772cdc36436c8c188d8c42d019fda639
>
> So, we use a little sed-grep combo to do the exact same change.
>
> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
>
> ---
> Changes v1 -> v2:
>   - don't fail if no file to fix: use 'grep -Z |xargs -0 -r' (Arnout)
> ---
>  linux/linux.mk | 7 +++++++
>  1 file changed, 7 insertions(+)
>
> diff --git a/linux/linux.mk b/linux/linux.mk
> index dd2eebd446..410b714360 100644
> --- a/linux/linux.mk
> +++ b/linux/linux.mk
> @@ -268,6 +268,13 @@ endef
>
>  LINUX_POST_PATCH_HOOKS += LINUX_APPLY_LOCAL_PATCHES
>
> +# Older versions break on gcc 10+ because of redefined symbols
> +define LINUX_DROP_YYLLOC
> +	$(Q)grep -Z -l -r -E '^YYLTYPE yylloc;$$' $(@D) \
> +	|xargs -0 -r $(SED) '/^YYLTYPE yylloc;$$/d'
> +endef
> +LINUX_POST_PATCH_HOOKS += LINUX_DROP_YYLLOC
> +
>  # Older linux kernels use deprecated perl constructs in timeconst.pl
>  # that were removed for perl 5.22+ so it breaks on newer distributions
>  # Try a dry-run patch to see if this applies, if it does go ahead

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Buildroot] [PATCH 1/2 v2] boot/uboot: fix build with host-gcc 10+
  2022-01-31 21:38 ` [Buildroot] [PATCH 1/2 v2] boot/uboot: fix build with host-gcc 10+ Yann E. MORIN
@ 2022-02-04 10:40   ` Giulio Benetti
  2022-02-27 19:24   ` Peter Korsgaard
  1 sibling, 0 replies; 9+ messages in thread
From: Giulio Benetti @ 2022-02-04 10:40 UTC (permalink / raw)
  To: Yann E. MORIN, buildroot; +Cc: Thomas Petazzoni

Hi Yann,

On 31/01/22 22:38, Yann E. MORIN wrote:
> Some older versions of U-Boot, or custom versions (like forks for some
> boards), fail to build with host-gcc 10+, because of redefined symbols:
> 
>        HOSTLD  scripts/dtc/dtc
>      /usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x10): multiple definition
>      of `yylloc'; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0): first defined here
>      collect2: error: ld returned 1 exit status
>      make[4]: *** [scripts/Makefile.host:106: scripts/dtc/dtc] E
> 
> Since this has been fixed in recent-ish versions, we can't use an
> unconditionaly patch, so we must have a conditional patch. However, a
> patch may not always apply to arbitrary U-Boot versions or forks.
> 
> Upstream just dropped that line altogether:
>      https://source.denx.de/u-boot/u-boot/-/commit/018921ee79d3f30893614b3b2b63b588d8544f73
> 
> So, we use a little sed-grep combo to do the exact same change.
> 
> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

I've extensively tested this patch while fixing Gitlab-CI build failures 
and here there is the actual situation:
https://paste.debian.net/1229530/
I've built successfully circa 20-25 cases where the problem didn't arise 
and also a couple where the problem arised.

So:
Reviewed-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Tested-by: Giulio Benetti <giulio.benetti@benettiengineering.com>

Thank you!
Best regards
-- 
Giulio Benetti
Benetti Engineering sas

> 
> ---
> Changes v1 -> v2:
>    - don't fail if no file to fix: use 'grep -Z |xargs -0 -r' (Arnout)
> ---
>   boot/uboot/uboot.mk | 7 +++++++
>   1 file changed, 7 insertions(+)
> 
> diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk
> index 574fc7089a..21db1d9d60 100644
> --- a/boot/uboot/uboot.mk
> +++ b/boot/uboot/uboot.mk
> @@ -244,6 +244,13 @@ endef
>   UBOOT_POST_EXTRACT_HOOKS += UBOOT_COPY_OLD_LICENSE_FILE
>   UBOOT_POST_RSYNC_HOOKS += UBOOT_COPY_OLD_LICENSE_FILE
>   
> +# Older versions break on gcc 10+ because of redefined symbols
> +define UBOOT_DROP_YYLLOC
> +	$(Q)grep -Z -l -r -E '^YYLTYPE yylloc;$$' $(@D) \
> +	|xargs -0 -r $(SED) '/^YYLTYPE yylloc;$$/d'
> +endef
> +UBOOT_POST_PATCH_HOOKS += UBOOT_DROP_YYLLOC
> +
>   ifneq ($(ARCH_XTENSA_OVERLAY_FILE),)
>   define UBOOT_XTENSA_OVERLAY_EXTRACT
>   	$(call arch-xtensa-overlay-extract,$(@D),u-boot)

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Buildroot] [PATCH 2/2 v2] linux: fix build with host-gcc 10+
  2022-01-31 21:38 ` [Buildroot] [PATCH 2/2 v2] linux: " Yann E. MORIN
  2022-01-31 22:10   ` Peter Seiderer
@ 2022-02-04 10:41   ` Giulio Benetti
  2022-02-27 19:24   ` Peter Korsgaard
  2 siblings, 0 replies; 9+ messages in thread
From: Giulio Benetti @ 2022-02-04 10:41 UTC (permalink / raw)
  To: Yann E. MORIN, buildroot; +Cc: Thomas Petazzoni

Hi Yann,

On 31/01/22 22:38, Yann E. MORIN wrote:
> Some older versions of linux, or custom versions (like forks for some
> boards), fail to build with host-gcc 10+, because of redefined symbols:
> 
>        HOSTLD  scripts/dtc/dtc
>      /usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x10): multiple definition
>      of `yylloc'; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0): first defined here
>      collect2: error: ld returned 1 exit status
> 
> Since this has been fixed in recent-ish versions, we can't use an
> unconditionaly patch, so we must have a conditional patch. However, a
> patch may not always apply to arbitrary U-Boot versions or forks.
> 
> Upstream just dropped that line altogether:
>      https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e33a814e772cdc36436c8c188d8c42d019fda639
> 
> So, we use a little sed-grep combo to do the exact same change.
> 
> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

I've extensively tested this patch while fixing Gitlab-CI build failures 
and here there is the actual situation:
https://paste.debian.net/1229530/
I've built successfully circa 20-25 cases where the problem didn't arise 
and also a couple where the problem arised.

So:
Reviewed-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Tested-by: Giulio Benetti <giulio.benetti@benettiengineering.com>

Thank you!
Best regards
-- 
Giulio Benetti
Benetti Engineering sas

> ---
> Changes v1 -> v2:
>    - don't fail if no file to fix: use 'grep -Z |xargs -0 -r' (Arnout)
> ---
>   linux/linux.mk | 7 +++++++
>   1 file changed, 7 insertions(+)
> 
> diff --git a/linux/linux.mk b/linux/linux.mk
> index dd2eebd446..410b714360 100644
> --- a/linux/linux.mk
> +++ b/linux/linux.mk
> @@ -268,6 +268,13 @@ endef
>   
>   LINUX_POST_PATCH_HOOKS += LINUX_APPLY_LOCAL_PATCHES
>   
> +# Older versions break on gcc 10+ because of redefined symbols
> +define LINUX_DROP_YYLLOC
> +	$(Q)grep -Z -l -r -E '^YYLTYPE yylloc;$$' $(@D) \
> +	|xargs -0 -r $(SED) '/^YYLTYPE yylloc;$$/d'
> +endef
> +LINUX_POST_PATCH_HOOKS += LINUX_DROP_YYLLOC
> +
>   # Older linux kernels use deprecated perl constructs in timeconst.pl
>   # that were removed for perl 5.22+ so it breaks on newer distributions
>   # Try a dry-run patch to see if this applies, if it does go ahead

-- 
Giulio Benetti
Benetti Engineering sas
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Buildroot] [PATCH 0/2 v2] linux|uboot: fix build with host-gcc 10+ for older versions (branch yem/yylloc)
  2022-01-31 21:38 [Buildroot] [PATCH 0/2 v2] linux|uboot: fix build with host-gcc 10+ for older versions (branch yem/yylloc) Yann E. MORIN
  2022-01-31 21:38 ` [Buildroot] [PATCH 1/2 v2] boot/uboot: fix build with host-gcc 10+ Yann E. MORIN
  2022-01-31 21:38 ` [Buildroot] [PATCH 2/2 v2] linux: " Yann E. MORIN
@ 2022-02-12 20:38 ` Arnout Vandecappelle
  2 siblings, 0 replies; 9+ messages in thread
From: Arnout Vandecappelle @ 2022-02-12 20:38 UTC (permalink / raw)
  To: Yann E. MORIN, buildroot; +Cc: Thomas Petazzoni



On 31/01/2022 22:38, Yann E. MORIN wrote:
> Hello All!
> 
> This two-patch series aims at side-stepping the multiple symbol
> declaration in older Linux and U-Boot, where the infamous yylloc is
> defined more than once.
> 
> Like we have a fix for the perl timeconst issue in linux, do s similar
> tweak for yylloc in the two packages known to be affected, Linux and
> U-Boot.
> 
> Here is a pipeline with all the defconfig builds:
>      https://gitlab.com/ymorin/buildroot/-/pipelines/460207930
> 
> There are still some failures, but none relate to the yylloc issue:
> 
>    - too long build time or not space left on device (I am only using
>      elastic runners)
> 
>    - defconfig not up-to-date (e.g. using kernel headers version since
>      removed)
> 
>    - missing host dependencies for kernel (openssl, libelf) or uboot
>      (python)
> 
>    - another host-gcc 10+ symbol redefinition issue (galileo [0])
> 
>    - make 4.3 issues. For example: amarula_a64_relic_defconfig
>      https://gitlab.com/ymorin/buildroot/-/jobs/2035820886
> 
>        DTC     arch/arm/dts/sun50i-a64-amarula-relic.dtb
>      Error: arch/arm/dts/.sun50i-a64-amarula-relic.dtb.pre.tmp:66.1-10 syntax error
>      FATAL ERROR: Unable to parse input tree
> 
>      This is caused by make 4.3 that no longer treats '#' as special in
>      macros, and shall no longer be escaped:
>          https://lwn.net/Articles/810071/
> 
>      This causes '\#include "something"' to be injected as-is at the end
>      of the temporary DTS, and of course, dtc does not cope nicely with
>      that... [1]
> 
>      Unfortuantely, I don't think we can do a generic fixup for that
>      one...
> 
>    - some other issues (e.g. deprecated 'partition-type' for geniamge..)
> 
> [0] this was fixed in 2014 in the kernel:
>        - eeeda4cd06e828b331b15741a204ff9f5874d28d
> [1] this was fixed in 2018 in uboot:
>        - e5e701c2b8470de044c5c71d2a54ecfc72680d59
>        - 0c544115379ed77c1843a194e26960e5b8f3d369


  Applied to master, thanks.

  Regards,
  Arnout

> 
> Changes v1 -> v2:
>    - don't fail if no file to fix: use 'grep -Z |xargs -0 -r' (Arnout)
>    - extend cover-ltter with a pipeline reference and analysese of
>      remaining build failures
> 
> Regards,
> Yann E. MORIN.
> 
> 
> ----------------------------------------------------------------
> Yann E. MORIN (2):
>        boot/uboot: fix build with host-gcc 10+
>        linux: fix build with host-gcc 10+
> 
>   boot/uboot/uboot.mk | 7 +++++++
>   linux/linux.mk      | 7 +++++++
>   2 files changed, 14 insertions(+)
> 
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Buildroot] [PATCH 1/2 v2] boot/uboot: fix build with host-gcc 10+
  2022-01-31 21:38 ` [Buildroot] [PATCH 1/2 v2] boot/uboot: fix build with host-gcc 10+ Yann E. MORIN
  2022-02-04 10:40   ` Giulio Benetti
@ 2022-02-27 19:24   ` Peter Korsgaard
  1 sibling, 0 replies; 9+ messages in thread
From: Peter Korsgaard @ 2022-02-27 19:24 UTC (permalink / raw)
  To: Yann E. MORIN; +Cc: Thomas Petazzoni, buildroot

>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 > Some older versions of U-Boot, or custom versions (like forks for some
 > boards), fail to build with host-gcc 10+, because of redefined symbols:

 >       HOSTLD  scripts/dtc/dtc
 >     /usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x10): multiple definition
 >     of `yylloc'; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0): first defined here
 >     collect2: error: ld returned 1 exit status
 >     make[4]: *** [scripts/Makefile.host:106: scripts/dtc/dtc] E

 > Since this has been fixed in recent-ish versions, we can't use an
 > unconditionaly patch, so we must have a conditional patch. However, a
 > patch may not always apply to arbitrary U-Boot versions or forks.

 > Upstream just dropped that line altogether:
 >     https://source.denx.de/u-boot/u-boot/-/commit/018921ee79d3f30893614b3b2b63b588d8544f73

 > So, we use a little sed-grep combo to do the exact same change.

 > Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
 > Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
 > Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

 > ---
 > Changes v1 -> v2:
 >   - don't fail if no file to fix: use 'grep -Z |xargs -0 -r' (Arnout)

Committed to 2021.02.x and 2021.11.x, thanks.

-- 
Bye, Peter Korsgaard
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [Buildroot] [PATCH 2/2 v2] linux: fix build with host-gcc 10+
  2022-01-31 21:38 ` [Buildroot] [PATCH 2/2 v2] linux: " Yann E. MORIN
  2022-01-31 22:10   ` Peter Seiderer
  2022-02-04 10:41   ` Giulio Benetti
@ 2022-02-27 19:24   ` Peter Korsgaard
  2 siblings, 0 replies; 9+ messages in thread
From: Peter Korsgaard @ 2022-02-27 19:24 UTC (permalink / raw)
  To: Yann E. MORIN; +Cc: Thomas Petazzoni, buildroot

>>>>> "Yann" == Yann E MORIN <yann.morin.1998@free.fr> writes:

 > Some older versions of linux, or custom versions (like forks for some
 > boards), fail to build with host-gcc 10+, because of redefined symbols:

 >       HOSTLD  scripts/dtc/dtc
 >     /usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x10): multiple definition
 >     of `yylloc'; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0): first defined here
 >     collect2: error: ld returned 1 exit status

 > Since this has been fixed in recent-ish versions, we can't use an
 > unconditionaly patch, so we must have a conditional patch. However, a
 > patch may not always apply to arbitrary U-Boot versions or forks.

 > Upstream just dropped that line altogether:
 >     https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e33a814e772cdc36436c8c188d8c42d019fda639

 > So, we use a little sed-grep combo to do the exact same change.

 > Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
 > Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
 > Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

 > ---
 > Changes v1 -> v2:
 >   - don't fail if no file to fix: use 'grep -Z |xargs -0 -r' (Arnout)

Committed to 2021.02.x and 2021.11.x, thanks.

-- 
Bye, Peter Korsgaard
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2022-02-27 19:26 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-31 21:38 [Buildroot] [PATCH 0/2 v2] linux|uboot: fix build with host-gcc 10+ for older versions (branch yem/yylloc) Yann E. MORIN
2022-01-31 21:38 ` [Buildroot] [PATCH 1/2 v2] boot/uboot: fix build with host-gcc 10+ Yann E. MORIN
2022-02-04 10:40   ` Giulio Benetti
2022-02-27 19:24   ` Peter Korsgaard
2022-01-31 21:38 ` [Buildroot] [PATCH 2/2 v2] linux: " Yann E. MORIN
2022-01-31 22:10   ` Peter Seiderer
2022-02-04 10:41   ` Giulio Benetti
2022-02-27 19:24   ` Peter Korsgaard
2022-02-12 20:38 ` [Buildroot] [PATCH 0/2 v2] linux|uboot: fix build with host-gcc 10+ for older versions (branch yem/yylloc) Arnout Vandecappelle

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.