Patchwork [1/1] bc: fix segmentation fault

login
register
mail settings
Submitter Kang Kai
Date Aug. 20, 2013, 2:20 a.m.
Message ID <5a0310813a9df4c60eaf5ba31e2de12bf3d08ccf.1376965065.git.kai.kang@windriver.com>
Download mbox | patch
Permalink /patch/56001/
State Accepted
Commit fef7b40aa9fcfd8f8f696b9938fa82279d05449b
Headers show

Comments

Kang Kai - Aug. 20, 2013, 2:20 a.m.
When run 'bc -l', it segmentation faults. Apply patch from BLFS to fix it.

Ref:
http://www.mail-archive.com/blfs-support@linuxfromscratch.org/msg04601.html

Signed-off-by: Kai Kang <kai.kang@windriver.com>
---
 meta/recipes-extended/bc/bc_1.06.bb                |  3 ++-
 .../bc/files/fix-segment-fault.patch               | 28 ++++++++++++++++++++++
 2 files changed, 30 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-extended/bc/files/fix-segment-fault.patch
Khem Raj - Aug. 22, 2013, 6:38 a.m.
On Aug 19, 2013, at 7:20 PM, Kai Kang <kai.kang@windriver.com> wrote:

> When run 'bc -l', it segmentation faults. Apply patch from BLFS to fix it.
> 
> Ref:
> http://www.mail-archive.com/blfs-support@linuxfromscratch.org/msg04601.html
> 
> Signed-off-by: Kai Kang <kai.kang@windriver.com>
> ---
> meta/recipes-extended/bc/bc_1.06.bb                |  3 ++-
> .../bc/files/fix-segment-fault.patch               | 28 ++++++++++++++++++++++
> 2 files changed, 30 insertions(+), 1 deletion(-)
> create mode 100644 meta/recipes-extended/bc/files/fix-segment-fault.patch
> 
> diff --git a/meta/recipes-extended/bc/bc_1.06.bb b/meta/recipes-extended/bc/bc_1.06.bb
> index fe9c3f4..4b28fad 100644
> --- a/meta/recipes-extended/bc/bc_1.06.bb
> +++ b/meta/recipes-extended/bc/bc_1.06.bb
> @@ -13,7 +13,8 @@ SECTION = "base"
> DEPENDS = "flex"
> PR = "r2"
> 
> -SRC_URI = "${GNU_MIRROR}/bc/bc-${PV}.tar.gz"
> +SRC_URI = "${GNU_MIRROR}/bc/bc-${PV}.tar.gz \
> +           file://fix-segment-fault.patch "
> 
> SRC_URI[md5sum] = "d44b5dddebd8a7a7309aea6c36fda117"
> SRC_URI[sha256sum] = "4ef6d9f17c3c0d92d8798e35666175ecd3d8efac4009d6457b5c99cea72c0e33"
> diff --git a/meta/recipes-extended/bc/files/fix-segment-fault.patch b/meta/recipes-extended/bc/files/fix-segment-fault.patch
> new file mode 100644
> index 0000000..20c0da2
> --- /dev/null
> +++ b/meta/recipes-extended/bc/files/fix-segment-fault.patch
> @@ -0,0 +1,28 @@
> +Upstream-Status: Pending
> +
> +when run command such as 'echo "a = 13" | bc -l', it segmentation faults.
> +This patch is from http://www.mail-archive.com/blfs-support@linuxfromscratch.org/msg04602.html.
> +
> +Signed-off-by: Kai Kang <kai.kang@windriver.com>
> +
> +--- bc-1.06/lib/number.c.orig	2003-09-26 21:14:02.000000000 +0000
> ++++ bc-1.06/lib/number.c	2003-09-26 21:14:26.000000000 +0000
> +@@ -34,6 +34,7 @@
> + #include <number.h>
> + #include <assert.h>
> + #include <stdlib.h>
> ++#include <string.h>

what does adding this include file fix ?

> + #include <ctype.h>/* Prototypes needed for external utility routines. */
> + 
> + #define bc_rt_warn rt_warn
> +--- bc-1.06/bc/load.c.orig	2003-09-26 21:14:14.000000000 +0000
> ++++ bc-1.06/bc/load.c	2003-09-26 21:14:26.000000000 +0000
> +@@ -156,7 +156,7 @@
> +   long  label_no;
> +   long  vaf_name;	/* variable, array or function number. */
> +   long  func;
> +-  program_counter save_adr;
> ++  static program_counter save_adr;
> + 
> +   /* Initialize. */
> +   str = code;
> -- 
> 1.8.1.2
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
Kang Kai - Aug. 22, 2013, 6:50 a.m.
On 2013?08?22? 14:38, Khem Raj wrote:
> On Aug 19, 2013, at 7:20 PM, Kai Kang <kai.kang@windriver.com> wrote:
>
>> When run 'bc -l', it segmentation faults. Apply patch from BLFS to fix it.
>>
>> Ref:
>> http://www.mail-archive.com/blfs-support@linuxfromscratch.org/msg04601.html
>>
>> Signed-off-by: Kai Kang <kai.kang@windriver.com>
>> ---
>> meta/recipes-extended/bc/bc_1.06.bb                |  3 ++-
>> .../bc/files/fix-segment-fault.patch               | 28 ++++++++++++++++++++++
>> 2 files changed, 30 insertions(+), 1 deletion(-)
>> create mode 100644 meta/recipes-extended/bc/files/fix-segment-fault.patch
>>
>> diff --git a/meta/recipes-extended/bc/bc_1.06.bb b/meta/recipes-extended/bc/bc_1.06.bb
>> index fe9c3f4..4b28fad 100644
>> --- a/meta/recipes-extended/bc/bc_1.06.bb
>> +++ b/meta/recipes-extended/bc/bc_1.06.bb
>> @@ -13,7 +13,8 @@ SECTION = "base"
>> DEPENDS = "flex"
>> PR = "r2"
>>
>> -SRC_URI = "${GNU_MIRROR}/bc/bc-${PV}.tar.gz"
>> +SRC_URI = "${GNU_MIRROR}/bc/bc-${PV}.tar.gz \
>> +           file://fix-segment-fault.patch "
>>
>> SRC_URI[md5sum] = "d44b5dddebd8a7a7309aea6c36fda117"
>> SRC_URI[sha256sum] = "4ef6d9f17c3c0d92d8798e35666175ecd3d8efac4009d6457b5c99cea72c0e33"
>> diff --git a/meta/recipes-extended/bc/files/fix-segment-fault.patch b/meta/recipes-extended/bc/files/fix-segment-fault.patch
>> new file mode 100644
>> index 0000000..20c0da2
>> --- /dev/null
>> +++ b/meta/recipes-extended/bc/files/fix-segment-fault.patch
>> @@ -0,0 +1,28 @@
>> +Upstream-Status: Pending
>> +
>> +when run command such as 'echo "a = 13" | bc -l', it segmentation faults.
>> +This patch is from http://www.mail-archive.com/blfs-support@linuxfromscratch.org/msg04602.html.
>> +
>> +Signed-off-by: Kai Kang <kai.kang@windriver.com>
>> +
>> +--- bc-1.06/lib/number.c.orig	2003-09-26 21:14:02.000000000 +0000
>> ++++ bc-1.06/lib/number.c	2003-09-26 21:14:26.000000000 +0000
>> +@@ -34,6 +34,7 @@
>> + #include <number.h>
>> + #include <assert.h>
>> + #include <stdlib.h>
>> ++#include <string.h>
> what does adding this include file fix ?

To be honest, I am not sure why add this include. After build it is 
harmless, so I didn't want to modify it because I think LFS is trustable.

Regards,
Kai

>
>> + #include <ctype.h>/* Prototypes needed for external utility routines. */
>> +
>> + #define bc_rt_warn rt_warn
>> +--- bc-1.06/bc/load.c.orig	2003-09-26 21:14:14.000000000 +0000
>> ++++ bc-1.06/bc/load.c	2003-09-26 21:14:26.000000000 +0000
>> +@@ -156,7 +156,7 @@
>> +   long  label_no;
>> +   long  vaf_name;	/* variable, array or function number. */
>> +   long  func;
>> +-  program_counter save_adr;
>> ++  static program_counter save_adr;
>> +
>> +   /* Initialize. */
>> +   str = code;
>> -- 
>> 1.8.1.2
>>
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
>
Khem Raj - Aug. 22, 2013, 7:15 a.m.
Kai

On Aug 21, 2013, at 11:50 PM, Kang Kai <Kai.Kang@windriver.com> wrote:

>> what does adding this include file fix ?
> 
> To be honest, I am not sure why add this include. After build it is harmless, so I didn't want to modify it because I think LFS is trustable.
> 

Its matter of understanding the change and may be explaining a bit better what it fixes and make the patch better for upstream too so try to build it without this include added and see if you get some warnings/errors that it fixes and then add that information to patch header.

> Regards,
> Kai
Kang Kai - Aug. 22, 2013, 7:25 a.m.
On 2013?08?22? 15:15, Khem Raj wrote:
> Kai
>
> On Aug 21, 2013, at 11:50 PM, Kang Kai <Kai.Kang@windriver.com> wrote:
>
>>> what does adding this include file fix ?
>> To be honest, I am not sure why add this include. After build it is harmless, so I didn't want to modify it because I think LFS is trustable.
>>
> Its matter of understanding the change and may be explaining a bit better what it fixes and make the patch better for upstream too so try to build it without this include added and see if you get some warnings/errors that it fixes and then add that information to patch header.

Thanks.
I'll check it and be more careful next time.

Regards,
Kai

>
>> Regards,
>> Kai
>
>
Kang Kai - Aug. 26, 2013, 2:54 a.m.
On 2013?08?22? 15:25, Kang Kai wrote:
> On 2013?08?22? 15:15, Khem Raj wrote:
>> Kai
>>
>> On Aug 21, 2013, at 11:50 PM, Kang Kai <Kai.Kang@windriver.com> wrote:
>>
>>>> what does adding this include file fix ?
>>> To be honest, I am not sure why add this include. After build it is 
>>> harmless, so I didn't want to modify it because I think LFS is 
>>> trustable.
>>>

Hi Raj,

>> Its matter of understanding the change and may be explaining a bit 
>> better what it fixes and make the patch better for upstream too so 
>> try to build it without this include added and see if you get some 
>> warnings/errors that it fixes and then add that information to patch 
>> header.

It is no warning shows without the include patch. But the patch is merged.

Sorry again.
Kai

>
> Thanks.
> I'll check it and be more careful next time.
>
> Regards,
> Kai
>
>>
>>> Regards,
>>> Kai
>>
>>
>
>

Patch

diff --git a/meta/recipes-extended/bc/bc_1.06.bb b/meta/recipes-extended/bc/bc_1.06.bb
index fe9c3f4..4b28fad 100644
--- a/meta/recipes-extended/bc/bc_1.06.bb
+++ b/meta/recipes-extended/bc/bc_1.06.bb
@@ -13,7 +13,8 @@  SECTION = "base"
 DEPENDS = "flex"
 PR = "r2"
 
-SRC_URI = "${GNU_MIRROR}/bc/bc-${PV}.tar.gz"
+SRC_URI = "${GNU_MIRROR}/bc/bc-${PV}.tar.gz \
+           file://fix-segment-fault.patch "
 
 SRC_URI[md5sum] = "d44b5dddebd8a7a7309aea6c36fda117"
 SRC_URI[sha256sum] = "4ef6d9f17c3c0d92d8798e35666175ecd3d8efac4009d6457b5c99cea72c0e33"
diff --git a/meta/recipes-extended/bc/files/fix-segment-fault.patch b/meta/recipes-extended/bc/files/fix-segment-fault.patch
new file mode 100644
index 0000000..20c0da2
--- /dev/null
+++ b/meta/recipes-extended/bc/files/fix-segment-fault.patch
@@ -0,0 +1,28 @@ 
+Upstream-Status: Pending
+
+when run command such as 'echo "a = 13" | bc -l', it segmentation faults.
+This patch is from http://www.mail-archive.com/blfs-support@linuxfromscratch.org/msg04602.html.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+
+--- bc-1.06/lib/number.c.orig	2003-09-26 21:14:02.000000000 +0000
++++ bc-1.06/lib/number.c	2003-09-26 21:14:26.000000000 +0000
+@@ -34,6 +34,7 @@
+ #include <number.h>
+ #include <assert.h>
+ #include <stdlib.h>
++#include <string.h>
+ #include <ctype.h>/* Prototypes needed for external utility routines. */
+ 
+ #define bc_rt_warn rt_warn
+--- bc-1.06/bc/load.c.orig	2003-09-26 21:14:14.000000000 +0000
++++ bc-1.06/bc/load.c	2003-09-26 21:14:26.000000000 +0000
+@@ -156,7 +156,7 @@
+   long  label_no;
+   long  vaf_name;	/* variable, array or function number. */
+   long  func;
+-  program_counter save_adr;
++  static program_counter save_adr;
+ 
+   /* Initialize. */
+   str = code;