mcpp: fixed crash issue with slice2cpp
authorMaksym Parkachov <lazy.gopher@gmail.com>
Mon, 13 Dec 2010 02:03:04 +0000 (02:03 +0000)
committerKhem Raj <raj.khem@gmail.com>
Mon, 13 Dec 2010 07:35:50 +0000 (23:35 -0800)
* added patch to fix crash issue with slice2cpp
* fixed package name by removing lib_package

Signed-off-by: Maksym Parkachov <lazy.gopher@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
recipes/mcpp/mcpp-2.7.2/slice2ccp-no-crash.patch [new file with mode: 0644]
recipes/mcpp/mcpp.inc
recipes/mcpp/mcpp_2.7.2.bb

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 (file)
index 0000000..1a0d931
--- /dev/null
@@ -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;
index 9c56a7c..4c4589c 100644 (file)
@@ -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 "
 
index 55418bf..6e79424 100644 (file)
@@ -1,5 +1,8 @@
 require ${BPN}.inc
 
+PR = "r1"
+SRC_URI += " file://slice2ccp-no-crash.patch "
+
 SRC_URI[md5sum] = "512de48c87ab023a69250edc7a0c7b05"
 SRC_URI[sha256sum] = "3b9b4421888519876c4fc68ade324a3bbd81ceeb7092ecdbbc2055099fcb8864"