From f31bb35b633cd7f0e81306823511b8f64c1f5983 Mon Sep 17 00:00:00 2001 From: Sven Eckelmann Date: Sat, 11 Sep 2021 21:03:34 +0200 Subject: [PATCH] uboot-mvebu: Fix build with GCC-10 as host compiler The package uses the host compiler to build the dtc binary. With gcc-10, the option -fno-common is now the default behavior. Thus multiple definitions of the same variable are now forbidden and results in following error during linking: 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 The easiest workaround is to add the upstream commit 018921ee79d3 ("Remove redundant YYLOC global declaration"). Signed-off-by: Sven Eckelmann --- .../patches/001-yylloc-redefinition.patch | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 package/boot/uboot-mvebu/patches/001-yylloc-redefinition.patch diff --git a/package/boot/uboot-mvebu/patches/001-yylloc-redefinition.patch b/package/boot/uboot-mvebu/patches/001-yylloc-redefinition.patch new file mode 100644 index 0000000000..f334995d21 --- /dev/null +++ b/package/boot/uboot-mvebu/patches/001-yylloc-redefinition.patch @@ -0,0 +1,33 @@ +From 018921ee79d3f30893614b3b2b63b588d8544f73 Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Thu, 30 Jan 2020 09:37:15 +0000 +Subject: [PATCH] Remove redundant YYLOC global declaration + +Same as the upstream fix for building dtc with gcc 10. + +Signed-off-by: Peter Robinson +Origin: backport, https://github.com/u-boot/u-boot/commit/018921ee79d3f30893614b3b2b63b588d8544f73 +--- + scripts/dtc/dtc-lexer.l | 1 - + 1 file changed, 1 deletion(-) + +--- a/scripts/dtc/dtc-lexer.l ++++ b/scripts/dtc/dtc-lexer.l +@@ -38,7 +38,6 @@ LINECOMMENT "//".*\n + #include "srcpos.h" + #include "dtc-parser.tab.h" + +-YYLTYPE yylloc; + extern bool treesource_error; + + /* CAUTION: this will stop working if we ever use yyless() or yyunput() */ +--- a/scripts/dtc/dtc-lexer.lex.c_shipped ++++ b/scripts/dtc/dtc-lexer.lex.c_shipped +@@ -631,7 +631,6 @@ char *yytext; + #include "srcpos.h" + #include "dtc-parser.tab.h" + +-YYLTYPE yylloc; + extern bool treesource_error; + + /* CAUTION: this will stop working if we ever use yyless() or yyunput() */ -- 2.30.2