Patchwork mcpp: fixed crash issue with slice2cpp

login
register
mail settings
Submitter Maksym Parkachov
Date Dec. 12, 2010, 6:03 p.m.
Message ID <1292176984-20866-1-git-send-email-lazy.gopher@gmail.com>
Download mbox | patch
Permalink /patch/54/
State Accepted
Headers show

Comments

Maksym Parkachov - Dec. 12, 2010, 6:03 p.m.
* added patch to fix crash issue with slice2cpp
* fixed package name by removing lib_package

Signed-off-by: Maksym Parkachov <lazy.gopher@gmail.com>
---
 recipes/mcpp/mcpp-2.7.2/slice2ccp-no-crash.patch |   49 ++++++++++++++++++++++
 recipes/mcpp/mcpp.inc                            |    2 +-
 recipes/mcpp/mcpp_2.7.2.bb                       |    3 +
 3 files changed, 53 insertions(+), 1 deletions(-)
 create mode 100644 recipes/mcpp/mcpp-2.7.2/slice2ccp-no-crash.patch

Patch

diff --git a/recipes/mcpp/mcpp-2.7.2/slice2ccp-no-crash.patch b/recipes/mcpp/mcpp-2.7.2/slice2ccp-no-crash.patch
new file mode 100644
index 0000000..1a0d931
--- /dev/null
+++ b/recipes/mcpp/mcpp-2.7.2/slice2ccp-no-crash.patch
@@ -0,0 +1,49 @@ 
+Index: mcpp-2.7.2/src/internal.H
+===================================================================
+--- mcpp-2.7.2.orig/src/internal.H	2010-12-12 15:52:09.556466001 +0100
++++ mcpp-2.7.2/src/internal.H	2010-12-12 15:52:28.313840001 +0100
+@@ -390,6 +390,8 @@
+ extern char     identifier[];       /* Lastly scanned name          */
+ extern IFINFO   ifstack[];          /* Information of #if nesting   */
+ extern char     work_buf[];
++extern FILEINFO * sh_file;
++extern int      sh_line;
+         /* Temporary buffer for directive line and macro expansion  */
+ 
+ /* main.c   */
+Index: mcpp-2.7.2/src/main.c
+===================================================================
+--- mcpp-2.7.2.orig/src/main.c	2010-12-12 15:52:16.115744002 +0100
++++ mcpp-2.7.2/src/main.c	2010-12-12 15:52:28.317842001 +0100
+@@ -326,6 +326,8 @@
+             = FALSE;
+     option_flags.trig = TRIGRAPHS_INIT;
+     option_flags.dig = DIGRAPHS_INIT;
++    sh_file = NULL;
++    sh_line = 0;
+ }
+ 
+ int     mcpp_lib_main
+Index: mcpp-2.7.2/src/system.c
+===================================================================
+--- mcpp-2.7.2.orig/src/system.c	2010-12-12 15:52:22.939154002 +0100
++++ mcpp-2.7.2/src/system.c	2010-12-12 15:52:28.317842001 +0100
+@@ -3858,6 +3858,9 @@
+ }
+ #endif
+ 
++FILEINFO*       sh_file;
++int             sh_line;
++
+ void    sharp(
+     FILEINFO *  sharp_file,
+     int         flag        /* Flag to append to the line for GCC   */
+@@ -3868,8 +3871,6 @@
+  * else (i.e. 'sharp_file' is NULL) 'infile'.
+  */
+ {
+-    static FILEINFO *   sh_file;
+-    static int  sh_line;
+     FILEINFO *  file;
+     int         line;
+ 
diff --git a/recipes/mcpp/mcpp.inc b/recipes/mcpp/mcpp.inc
index 9c56a7c..4c4589c 100644
--- a/recipes/mcpp/mcpp.inc
+++ b/recipes/mcpp/mcpp.inc
@@ -4,7 +4,7 @@  LICENSE = "BSD"
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz"
 
-inherit autotools lib_package
+inherit autotools
 
 EXTRA_OECONF = " --enable-mcpplib "
 
diff --git a/recipes/mcpp/mcpp_2.7.2.bb b/recipes/mcpp/mcpp_2.7.2.bb
index 55418bf..6e79424 100644
--- a/recipes/mcpp/mcpp_2.7.2.bb
+++ b/recipes/mcpp/mcpp_2.7.2.bb
@@ -1,5 +1,8 @@ 
 require ${BPN}.inc
 
+PR = "r1"
+SRC_URI += " file://slice2ccp-no-crash.patch "
+
 SRC_URI[md5sum] = "512de48c87ab023a69250edc7a0c7b05"
 SRC_URI[sha256sum] = "3b9b4421888519876c4fc68ade324a3bbd81ceeb7092ecdbbc2055099fcb8864"