From 821a73d1c732362fe9232765f8046e756a1fc0bf Mon Sep 17 00:00:00 2001
From: Henrik Grimler <henrik@grimler.se>
Date: Mon, 30 Jun 2025 11:27:02 +0200
Subject: [PATCH] scripts/dtc: Remove redundant YYLOC global declaration

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",
---
 scripts/dtc/dtc-lexer.l              | 2 +-
 scripts/dtc/dtc-lexer.lex.c_shipped  | 2 +-
 scripts/dtc/dtc-parser.tab.c_shipped | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

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, ...);
-- 
2.50.0

