From a33eca1b69555118d48ec845e40ff02c880210b0 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Jan 30 2020 17:13:50 +0000 Subject: gcc 10 fix --- diff --git a/0001-Remove-redundant-YYLOC-global-declaration.patch b/0001-Remove-redundant-YYLOC-global-declaration.patch new file mode 100644 index 0000000..bce42e4 --- /dev/null +++ b/0001-Remove-redundant-YYLOC-global-declaration.patch @@ -0,0 +1,48 @@ +From 42377121da0d440b099cf06dc2dd8aebadff0d61 Mon Sep 17 00:00:00 2001 +From: Peter Robinson +Date: Thu, 30 Jan 2020 17:10:42 +0000 +Subject: [PATCH] Remove redundant YYLOC global declaration + +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 +Signed-off-by: Peter Robinson +--- + dtc-lexer.l | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/dtc-lexer.l b/dtc-lexer.l +index 5c6c3fd..b3b7270 100644 +--- a/dtc-lexer.l ++++ b/dtc-lexer.l +@@ -23,7 +23,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() */ +-- +2.24.1 + diff --git a/dtc.spec b/dtc.spec index 7dcc7e8..d74a5bd 100644 --- a/dtc.spec +++ b/dtc.spec @@ -1,11 +1,12 @@ Name: dtc Version: 1.5.1 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Device Tree Compiler License: GPLv2+ URL: https://devicetree.org/ Source0: https://www.kernel.org/pub/software/utils/%{name}/%{name}-%{version}.tar.xz +Patch1: 0001-Remove-redundant-YYLOC-global-declaration.patch BuildRequires: gcc make BuildRequires: flex bison swig @@ -87,6 +88,9 @@ rm -f $RPM_BUILD_ROOT/%{_bindir}/ftdump %{python3_sitearch}/* %changelog +* Thu Jan 30 2020 Peter Robinson 1.5.1-4 +- Upstream patch to fix gcc-10 build + * Tue Jan 28 2020 Fedora Release Engineering - 1.5.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild