-
Notifications
You must be signed in to change notification settings - Fork 544
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #2514 from glebm/odroidgoA-gcc10
odroidgoA build fixes
- Loading branch information
Showing
4 changed files
with
250 additions
and
0 deletions.
There are no files selected for viewing
68 changes: 68 additions & 0 deletions
68
...p/odroidgoa/linux_patches/0001-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,68 @@ | ||
From 11647f99b4de6bc460e106e876f72fc7af3e54a6 Mon Sep 17 00:00:00 2001 | ||
From: Dirk Mueller <[email protected]> | ||
Date: Tue, 14 Jan 2020 18:53:41 +0100 | ||
Subject: [PATCH] scripts/dtc: Remove redundant YYLOC global declaration | ||
|
||
commit e33a814e772cdc36436c8c188d8c42d019fda639 upstream. | ||
|
||
gcc 10 will default to -fno-common, which causes this error at link | ||
time: | ||
|
||
(.text+0x0): multiple definition of `yylloc'; dtc-lexer.lex.o (symbol from plugin):(.text+0x0): first defined here | ||
|
||
This is because both dtc-lexer as well as dtc-parser define the same | ||
global symbol yyloc. Before with -fcommon those were merged into one | ||
defintion. The proper solution would be to to mark this as "extern", | ||
however that leads to: | ||
|
||
dtc-lexer.l:26:16: error: redundant redeclaration of 'yylloc' [-Werror=redundant-decls] | ||
26 | extern YYLTYPE yylloc; | ||
| ^~~~~~ | ||
In file included from dtc-lexer.l:24: | ||
dtc-parser.tab.h:127:16: note: previous declaration of 'yylloc' was here | ||
127 | extern YYLTYPE yylloc; | ||
| ^~~~~~ | ||
cc1: all warnings being treated as errors | ||
|
||
which means the declaration is completely redundant and can just be | ||
dropped. | ||
|
||
Signed-off-by: Dirk Mueller <[email protected]> | ||
Signed-off-by: David Gibson <[email protected]> | ||
[robh: cherry-pick from upstream] | ||
Cc: [email protected] | ||
Signed-off-by: Rob Herring <[email protected]> | ||
[nc: Also apply to dtc-lexer.lex.c_shipped due to a lack of | ||
e039139be8c2, where dtc-lexer.l started being used] | ||
Signed-off-by: Nathan Chancellor <[email protected]> | ||
Signed-off-by: Greg Kroah-Hartman <[email protected]> | ||
Change-Id: I7f299451e99aab09375883546e47505ec0937c26 | ||
--- | ||
scripts/dtc/dtc-lexer.l | 1 - | ||
scripts/dtc/dtc-lexer.lex.c_shipped | 1 - | ||
2 files changed, 2 deletions(-) | ||
|
||
diff --git a/scripts/dtc/dtc-lexer.l b/scripts/dtc/dtc-lexer.l | ||
index c600603044f..cf7707be43a 100644 | ||
--- 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() */ | ||
diff --git a/scripts/dtc/dtc-lexer.lex.c_shipped b/scripts/dtc/dtc-lexer.lex.c_shipped | ||
index 2c862bc86ad..e3663ce1af5 100644 | ||
--- 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() */ |
80 changes: 80 additions & 0 deletions
80
...goa/patches/uboot-odroid-goa/0001-Kbuild-fix-escaping-in-.cmd-files-for-future-Make.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
From e5e701c2b8470de044c5c71d2a54ecfc72680d59 Mon Sep 17 00:00:00 2001 | ||
From: Rasmus Villemoes <[email protected]> | ||
Date: Wed, 19 Sep 2018 11:35:56 +0900 | ||
Subject: [PATCH] Kbuild: fix # escaping in .cmd files for future Make | ||
MIME-Version: 1.0 | ||
Content-Type: text/plain; charset=UTF-8 | ||
Content-Transfer-Encoding: 8bit | ||
|
||
[ commit 9564a8cf422d7b58f6e857e3546d346fa970191e in Linux ] | ||
|
||
I tried building using a freshly built Make (4.2.1-69-g8a731d1), but | ||
already the objtool build broke with | ||
|
||
orc_dump.c: In function ‘orc_dump’: | ||
orc_dump.c:106:2: error: ‘elf_getshnum’ is deprecated [-Werror=deprecated-declarations] | ||
if (elf_getshdrnum(elf, &nr_sections)) { | ||
|
||
Turns out that with that new Make, the backslash was not removed, so cpp | ||
didn't see a #include directive, grep found nothing, and | ||
-DLIBELF_USE_DEPRECATED was wrongly put in CFLAGS. | ||
|
||
Now, that new Make behaviour is documented in their NEWS file: | ||
|
||
* WARNING: Backward-incompatibility! | ||
Number signs (#) appearing inside a macro reference or function invocation | ||
no longer introduce comments and should not be escaped with backslashes: | ||
thus a call such as: | ||
foo := $(shell echo '#') | ||
is legal. Previously the number sign needed to be escaped, for example: | ||
foo := $(shell echo '\#') | ||
Now this latter will resolve to "\#". If you want to write makefiles | ||
portable to both versions, assign the number sign to a variable: | ||
C := \# | ||
foo := $(shell echo '$C') | ||
This was claimed to be fixed in 3.81, but wasn't, for some reason. | ||
To detect this change search for 'nocomment' in the .FEATURES variable. | ||
|
||
This also fixes up the two make-cmd instances to replace # with $(pound) | ||
rather than with \#. There might very well be other places that need | ||
similar fixup in preparation for whatever future Make release contains | ||
the above change, but at least this builds an x86_64 defconfig with the | ||
new make. | ||
|
||
Link: https://bugzilla.kernel.org/show_bug.cgi?id=197847 | ||
Cc: Randy Dunlap <[email protected]> | ||
Signed-off-by: Rasmus Villemoes <[email protected]> | ||
Signed-off-by: Masahiro Yamada <[email protected]> | ||
--- | ||
scripts/Kbuild.include | 5 +++-- | ||
1 file changed, 3 insertions(+), 2 deletions(-) | ||
|
||
diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include | ||
index 2c7918ad37..13ebddda65 100644 | ||
--- a/scripts/Kbuild.include | ||
+++ b/scripts/Kbuild.include | ||
@@ -7,6 +7,7 @@ quote := " | ||
squote := ' | ||
empty := | ||
space := $(empty) $(empty) | ||
+pound := \# | ||
|
||
### | ||
# Name of target with a '.' as filename prefix. foo/bar.o => foo/.bar.o | ||
@@ -242,11 +243,11 @@ endif | ||
|
||
# Replace >$< with >$$< to preserve $ when reloading the .cmd file | ||
# (needed for make) | ||
-# Replace >#< with >\#< to avoid starting a comment in the .cmd file | ||
+# Replace >#< with >$(pound)< to avoid starting a comment in the .cmd file | ||
# (needed for make) | ||
# Replace >'< with >'\''< to be able to enclose the whole string in '...' | ||
# (needed for the shell) | ||
-make-cmd = $(call escsq,$(subst \#,\\\#,$(subst $$,$$$$,$(cmd_$(1))))) | ||
+make-cmd = $(call escsq,$(subst $(pound),$$(pound),$(subst $$,$$$$,$(cmd_$(1))))) | ||
|
||
# Find any prerequisites that is newer than target or that does not exist. | ||
# PHONY targets skipped in both cases. | ||
-- | ||
2.27.0 | ||
|
31 changes: 31 additions & 0 deletions
31
...oidgoa/patches/uboot-odroid-goa/0001-kbuild-fix-escaping-in-appending-U-Boot-own-DT.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
From 0c544115379ed77c1843a194e26960e5b8f3d369 Mon Sep 17 00:00:00 2001 | ||
From: Masahiro Yamada <[email protected]> | ||
Date: Wed, 19 Sep 2018 11:35:57 +0900 | ||
Subject: [PATCH] kbuild: fix # escaping in appending U-Boot own DT | ||
|
||
The escape sequence '\#' does not work for the latest GNU Make from | ||
the git tree. | ||
|
||
Replace it with $(pound) as Linux did. | ||
|
||
Signed-off-by: Masahiro Yamada <[email protected]> | ||
--- | ||
scripts/Makefile.lib | 2 +- | ||
1 file changed, 1 insertion(+), 1 deletion(-) | ||
|
||
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib | ||
index f8c3fff1d1..4dceb6d1b3 100644 | ||
--- a/scripts/Makefile.lib | ||
+++ b/scripts/Makefile.lib | ||
@@ -299,7 +299,7 @@ quiet_cmd_dtc = DTC $@ | ||
# Modified for U-Boot | ||
# Bring in any U-Boot-specific include at the end of the file | ||
cmd_dtc = mkdir -p $(dir ${dtc-tmp}) ; \ | ||
- (cat $<; $(if $(u_boot_dtsi),echo '\#include "$(u_boot_dtsi)"')) > $(pre-tmp); \ | ||
+ (cat $<; $(if $(u_boot_dtsi),echo '$(pound)include "$(u_boot_dtsi)"')) > $(pre-tmp); \ | ||
$(CPP) $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $(pre-tmp) ; \ | ||
$(DTC) -O dtb -o $@ -b 0 \ | ||
-i $(dir $<) $(DTC_FLAGS) \ | ||
-- | ||
2.27.0 | ||
|
71 changes: 71 additions & 0 deletions
71
.../patches/uboot-odroid-goa/0001-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
From d988ec14978819bc2e0662fd9f853f52aedce498 Mon Sep 17 00:00:00 2001 | ||
From: Dirk Mueller <[email protected]> | ||
Date: Tue, 14 Jan 2020 18:53:41 +0100 | ||
Subject: [PATCH] scripts/dtc: Remove redundant YYLOC global declaration | ||
|
||
commit e33a814e772cdc36436c8c188d8c42d019fda639 upstream. | ||
|
||
gcc 10 will default to -fno-common, which causes this error at link | ||
time: | ||
|
||
(.text+0x0): multiple definition of `yylloc'; dtc-lexer.lex.o (symbol from plugin):(.text+0x0): first defined here | ||
|
||
This is because both dtc-lexer as well as dtc-parser define the same | ||
global symbol yyloc. Before with -fcommon those were merged into one | ||
defintion. The proper solution would be to to mark this as "extern", | ||
however that leads to: | ||
|
||
dtc-lexer.l:26:16: error: redundant redeclaration of 'yylloc' [-Werror=redundant-decls] | ||
26 | extern YYLTYPE yylloc; | ||
| ^~~~~~ | ||
In file included from dtc-lexer.l:24: | ||
dtc-parser.tab.h:127:16: note: previous declaration of 'yylloc' was here | ||
127 | extern YYLTYPE yylloc; | ||
| ^~~~~~ | ||
cc1: all warnings being treated as errors | ||
|
||
which means the declaration is completely redundant and can just be | ||
dropped. | ||
|
||
Signed-off-by: Dirk Mueller <[email protected]> | ||
Signed-off-by: David Gibson <[email protected]> | ||
[robh: cherry-pick from upstream] | ||
Cc: [email protected] | ||
Signed-off-by: Rob Herring <[email protected]> | ||
[nc: Also apply to dtc-lexer.lex.c_shipped due to a lack of | ||
e039139be8c2, where dtc-lexer.l started being used] | ||
Signed-off-by: Nathan Chancellor <[email protected]> | ||
Signed-off-by: Greg Kroah-Hartman <[email protected]> | ||
Change-Id: I7f299451e99aab09375883546e47505ec0937c26 | ||
--- | ||
scripts/dtc/dtc-lexer.l | 1 - | ||
scripts/dtc/dtc-lexer.lex.c_shipped | 1 - | ||
2 files changed, 2 deletions(-) | ||
|
||
diff --git a/scripts/dtc/dtc-lexer.l b/scripts/dtc/dtc-lexer.l | ||
index fd825ebba6..24af549977 100644 | ||
--- 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() */ | ||
diff --git a/scripts/dtc/dtc-lexer.lex.c_shipped b/scripts/dtc/dtc-lexer.lex.c_shipped | ||
index 011bb9632f..79952cd3ca 100644 | ||
--- 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.27.0 | ||
|