new file mode 100644
@@ -0,0 +1,154 @@
+From ea4bc4aad22455f8f37030f5915c4a94d76fd5e7 Mon Sep 17 00:00:00 2001
+From: "mark.yang" <mark.yang@lge.com>
+Date: Mon, 7 Apr 2025 18:57:26 +0900
+Subject: [PATCH] Fix build failure with gcc-15
+
+* see more details: http://errors.yoctoproject.org/Errors/Details/851179/
+
+yang-data.c:594:9: error: too many arguments to function 'yangparse'; expected 0, have 1
+ 594 | yangparse(parser);
+ | ^~~~~~~~~ ~~~~~~
+In file included from scanner-yang.h:19,
+ from yang-data.c:47:
+parser-yang.h:16:12: note: declared here
+ 16 | extern int yangparse();
+ | ^~~~~~~~~
+In file included from parser-yang.c:346:
+parser-yang.tab.h:170:5: error: conflicting types for 'yangparse'; have 'int(struct Parser *)'
+ 170 | int yangparse (struct Parser *parserPtr);
+ | ^~~~~~~~~
+In file included from parser-yang.y:40:
+parser-yang.h:16:12: note: previous declaration of 'yangparse' with type 'int(void)'
+ 16 | extern int yangparse();
+ | ^~~~~~~~~
+make[2]: *** [Makefile:573: yang-data.lo] Error 1
+make[2]: *** Waiting for unfinished jobs....
+smi-data.c: In function 'loadModule':
+smi-data.c:4658:9: error: too many arguments to function 'smiparse'; expected 0, have 1
+ 4658 | smiparse((void *)&parser);
+ | ^~~~~~~~ ~~~~~~~~~~~~~~~
+smi-data.c:42:12: note: declared here
+ 42 | extern int smiparse();
+ | ^~~~~~~~
+parser-smi.c:1515:5: error: conflicting types for 'smiparse'; have 'int(struct Parser *)'
+ 1515 | int smiparse (struct Parser *parserPtr);
+ | ^~~~~~~~
+In file included from parser-smi.y:37:
+parser-smi.h:27:12: note: previous declaration of 'smiparse' with type 'int(void)'
+ 27 | extern int smiparse();
+ | ^~~~~~~~
+parser-smi.c:63:25: error: conflicting types for 'smiparse'; have 'int(struct Parser *)'
+ 63 | #define yyparse smiparse
+ | ^~~~~~~~
+parser-smi.c:3207:1: note: in expansion of macro 'yyparse'
+ 3207 | yyparse (struct Parser *parserPtr)
+ | ^~~~~~~
+parser-smi.h:27:12: note: previous declaration of 'smiparse' with type 'int(void)'
+ 27 | extern int smiparse();
+ | ^~~~~~~~
+parser-yang.c:68:25: error: conflicting types for 'yangparse'; have 'int(struct Parser *)'
+ 68 | #define yyparse yangparse
+ | ^~~~~~~~~
+parser-yang.c:2312:1: note: in expansion of macro 'yyparse'
+ 2312 | yyparse (struct Parser *parserPtr)
+ | ^~~~~~~
+parser-yang.h:16:12: note: previous declaration of 'yangparse' with type 'int(void)'
+ 16 | extern int yangparse();
+ | ^~~~~~~~~
+In file included from scanner-yang.l:31:
+parser-yang.tab.h:170:5: error: conflicting types for 'yangparse'; have 'int(struct Parser *)'
+ 170 | int yangparse (struct Parser *parserPtr);
+ | ^~~~~~~~~
+In file included from scanner-yang.l:30:
+parser-yang.h:16:12: note: previous declaration of 'yangparse' with type 'int(void)'
+ 16 | extern int yangparse();
+ | ^~~~~~~~~
+scanner-yang.l: In function 'yangEnterLexRecursion':
+scanner-yang.l:79:1: warning: old-style function definition [-Wold-style-definition]
+ 79 |
+ | ^
+make[2]: *** [Makefile:573: smi-data.lo] Error 1
+In file included from parser-smi.y:36:
+parser-smi.c: In function 'smiparse':
+parser-smi.c:10265:29: warning: passing argument 1 of 'smiyyerror' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
+10265 | yyerror (parserPtr, yymsgp);
+ | ^~~~~~
+error.h:25:44: note: in definition of macro 'yyerror'
+ 25 | #define yyerror(parserPtr, msg) smiyyerror(msg, parserPtr)
+ | ^~~
+In file included from parser-smi.y:40:
+smi-check.h:71:30: note: expected 'char *' but argument is of type 'const char *'
+ 71 | extern void smiyyerror(char *msg, Parser *parserPtr);
+ | ~~~~~~^~~
+make[2]: *** [Makefile:573: parser-yang.lo] Error 1
+make[2]: *** [Makefile:573: parser-smi.lo] Error 1
+make[2]: *** [Makefile:573: scanner-yang.lo] Error 1
+In file included from scanner-smi.l:34:
+parser-smi.tab.h:192:5: error: conflicting types for 'smiparse'; have 'int(struct Parser *)'
+ 192 | int smiparse (struct Parser *parserPtr);
+ | ^~~~~~~~
+In file included from util.h:22,
+ from scanner-smi.l:32:
+parser-smi.h:27:12: note: previous declaration of 'smiparse' with type 'int(void)'
+ 27 | extern int smiparse();
+ | ^~~~~~~~
+scanner-smi.l: In function 'smiEnterLexRecursion':
+scanner-smi.l:76:1: warning: old-style function definition [-Wold-style-definition]
+ 76 | smiEnterLexRecursion(file)
+ | ^~~~~~~~~~~~~~~~~~~~
+
+Upstream-Status: Submitted [https://lists.ibr.cs.tu-bs.de/hyperkitty/list/libsmi@ibr.cs.tu-bs.de/thread/XUW4E575ALYHCAM33OEMU5V2LKUOYAVA/]
+Signed-off-by: mark.yang <mark.yang@lge.com>
+---
+ lib/parser-smi.h | 2 +-
+ lib/parser-yang.h | 4 ++--
+ lib/smi-data.c | 2 +-
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/lib/parser-smi.h b/lib/parser-smi.h
+index 90d7ec2..c2a3d1f 100644
+--- a/lib/parser-smi.h
++++ b/lib/parser-smi.h
+@@ -24,7 +24,7 @@
+
+
+
+-extern int smiparse();
++extern int smiparse(struct Parser *parserPtr);
+
+
+
+diff --git a/lib/parser-yang.h b/lib/parser-yang.h
+index dbfec46..f008cd6 100644
+--- a/lib/parser-yang.h
++++ b/lib/parser-yang.h
+@@ -6,14 +6,14 @@
+ #include <stdio.h>
+
+ #include "yang-data.h"
+-
++#include "smi-data.h"
+
+
+ #define YYERROR_VERBOSE
+
+
+
+-extern int yangparse();
++extern int yangparse(struct Parser *parserPtr);
+
+
+
+diff --git a/lib/smi-data.c b/lib/smi-data.c
+index c9d95a4..773bc01 100644
+--- a/lib/smi-data.c
++++ b/lib/smi-data.c
+@@ -39,7 +39,7 @@
+
+ #ifdef BACKEND_SMI
+ #include "scanner-smi.h"
+-extern int smiparse();
++extern int smiparse(struct Parser *parserPtr);
+ #endif
+
+ #ifdef BACKEND_SMING
@@ -9,6 +9,7 @@ SRC_URI = "https://www.ibr.cs.tu-bs.de/projects/${BPN}/download/${BP}.tar.gz \
file://libsmi-fix-the-test-dump-files.patch \
file://0001-Define-createIdentifierRef-prototype-in-yang-complex.patch \
file://0001-parser-yang-Define-_DEFAULT_SOURCE.patch \
+ file://0001-Fix-build-failure-with-gcc-15.patch \
"
SRC_URI[sha256sum] = "f21accdadb1bb328ea3f8a13fc34d715baac6e2db66065898346322c725754d3"