Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

glebm
Copy link

@glebm glebm commented Nov 22, 2020

Cherry-pick e33a814 from upstream.

Fix compilation with -fno-common (default in GCC 10)

This is the only change needed to build odroidgoA-4.4.y with GCC 10

commit e33a814 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
     e039139, 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
@glebm glebm changed the title scripts/dtc: Remove redundant YYLOC global declaration odroidgoA-4.4.y: scripts/dtc: Remove redundant YYLOC global declaration Dec 29, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants