pmaports/device/testing/linux-samsung-gts210lte/gcc10-extern_YYLOC_global_declaration.patch
Henrik Grimler 5e120e490c
samsung-gts210lte: new device (MR 2599)
Touchscreen and usb networking works.  Much of the hardware is the
same as on gts210velte (but that one has a qcom soc and not
exynos5433).  Exactly the same touchscreen calibrarion as for
gts210velte works for this device as well.

Also include firmware package with wifi files. Unlike on many other
Samsung devices wifi does not work out of the box after these
firmware files has been added.

[ci:skip-build] Already built on CI in MR
2021-10-17 17:38:57 +03:00

52 lines
1.9 KiB
Diff

Based on https://lkml.org/lkml/2020/4/1/1206. In original patch, YYLOC declaration was removed.
However, using original patch, which removes yylloc declaration on 3.18.14 kernel version results in 'yylloc not declared' error.
See part of the original description below:
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",
diff --git a/scripts/dtc/dtc-lexer.l b/scripts/dtc/dtc-lexer.l
index 3b41bfca636c..9b9c29e6f311 100644
--- a/scripts/dtc/dtc-lexer.l
+++ b/scripts/dtc/dtc-lexer.l
@@ -39,7 +39,7 @@ LINECOMMENT "//".*\n
#include "srcpos.h"
#include "dtc-parser.tab.h"
-YYLTYPE yylloc;
+extern YYLTYPE yylloc;
/* CAUTION: this will stop working if we ever use yyless() or yyunput() */
#define YY_USER_ACTION \
diff --git a/scripts/dtc/dtc-lexer.lex.c_shipped b/scripts/dtc/dtc-lexer.lex.c_shipped
index 2d30f41778b7..d0eb405cb811 100644
--- a/scripts/dtc/dtc-lexer.lex.c_shipped
+++ b/scripts/dtc/dtc-lexer.lex.c_shipped
@@ -637,7 +637,7 @@ char *yytext;
#include "srcpos.h"
#include "dtc-parser.tab.h"
-YYLTYPE yylloc;
+extern YYLTYPE yylloc;
/* CAUTION: this will stop working if we ever use yyless() or yyunput() */
#define YY_USER_ACTION \
diff --git a/scripts/dtc/dtc-parser.tab.c_shipped b/scripts/dtc/dtc-parser.tab.c_shipped
index c8c8ca8b744f..ee1d8c3042fb 100644
--- a/scripts/dtc/dtc-parser.tab.c_shipped
+++ b/scripts/dtc/dtc-parser.tab.c_shipped
@@ -73,7 +73,7 @@
#include "dtc.h"
#include "srcpos.h"
-extern YYLTYPE yylloc;
+YYLTYPE yylloc;
extern int yylex(void);
extern void print_error(char const *fmt, ...);