gstreamer: fix argument parsing when using Bison 3

Remove the argument fix patch and add a patch which fixes the
grammer.y Bison input file. YYLEX_PARAM seems to be no longer
supported and has been replaced with %parse-param which has
been introduced already in 2003.

This fixes a segmentation fault when launching gst-launch-0.10.

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
This commit is contained in:
Stefan Agner 2016-03-24 16:26:56 -07:00 committed by Armin Kuster
parent 6ba69e1452
commit d69386740b
3 changed files with 36 additions and 34 deletions

View File

@ -0,0 +1,35 @@
From 60516f4798894f958fc53b470e1283318d0f8706 Mon Sep 17 00:00:00 2001
From: Kerrick Staley <kerrick@kerrickstaley.com>
Date: Tue, 20 Aug 2013 23:59:29 -0700
Subject: [PATCH 1/2] parse: make grammar.y work with Bison 3
YYLEX_PARAM is no longer supported in Bison 3.
https://bugzilla.gnome.org/show_bug.cgi?id=706462
---
gst/parse/grammar.y | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gst/parse/grammar.y b/gst/parse/grammar.y
index 24fc87b..7f9dd16 100644
--- a/gst/parse/grammar.y
+++ b/gst/parse/grammar.y
@@ -26,7 +26,6 @@
*/
#define YYERROR_VERBOSE 1
-#define YYLEX_PARAM scanner
#define YYENABLE_NLS 0
@@ -648,6 +647,7 @@ static int yyerror (void *scanner, graph_t *graph, const char *s);
%right '.'
%left '!' '='
+%lex-param { void *scanner }
%parse-param { void *scanner }
%parse-param { graph_t *graph }
%pure-parser
--
2.7.2

View File

@ -1,33 +0,0 @@
gstreamer: change priv_gst_parse_yylex arguments
Change priv_gst_parse_yylex to fit new bison version, else we will
get following error:
| grammar.tab.c: In function 'priv_gst_parse_yyparse':
| grammar.tab.c:67:25: error: too few arguments to function 'priv_gst_parse_yylex'
| #define yylex priv_gst_parse_yylex
| ^
Upstream-Status: Pending
Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
---
gst/parse/grammar.y | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gst/parse/grammar.y b/gst/parse/grammar.y
index 24fc87b..24fe906 100644
--- a/gst/parse/grammar.y
+++ b/gst/parse/grammar.y
@@ -36,7 +36,7 @@
typedef void* yyscan_t;
-int priv_gst_parse_yylex (void * yylval_param , yyscan_t yyscanner);
+int priv_gst_parse_yylex (yyscan_t yyscanner);
int priv_gst_parse_yylex_init (yyscan_t scanner);
int priv_gst_parse_yylex_destroy (yyscan_t scanner);
struct yy_buffer_state * priv_gst_parse_yy_scan_string (char* , yyscan_t);
--
1.9.1

View File

@ -15,7 +15,7 @@ SRC_URI = "http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.bz
file://check_fix.patch \ file://check_fix.patch \
file://gst-inspect-check-error.patch \ file://gst-inspect-check-error.patch \
file://0001-baseparse-Fix-self-comparison-always-evaluates-to-tr.patch \ file://0001-baseparse-Fix-self-comparison-always-evaluates-to-tr.patch \
file://gstreamer-change-priv_gst_parse_yylex-arguments.patch \ file://0001-parse-make-grammar.y-work-with-Bison-3.patch \
" "
SRC_URI[md5sum] = "a0cf7d6877f694a1a2ad2b4d1ecb890b" SRC_URI[md5sum] = "a0cf7d6877f694a1a2ad2b4d1ecb890b"