[OE-core] [PATCH 4/6] socat: Access c_ispeed and c_ospeed via APIs

Khem Raj raj.khem at gmail.com
Tue Apr 12 18:06:15 UTC 2016


On Tue, Apr 12, 2016 at 10:00 AM, Bruce Ashfield
<bruce.ashfield at gmail.com> wrote:
>
>
> On Thu, Mar 17, 2016 at 1:18 AM, Khem Raj <raj.khem at gmail.com> wrote:
>>
>> make it more portable across libc implementations
>>
>> Signed-off-by: Khem Raj <raj.khem at gmail.com>
>> ---
>>  ...001-Access-c_ispeed-and-c_ospeed-via-APIs.patch | 39
>> ++++++++++++++++++++++
>>  meta/recipes-connectivity/socat/socat_1.7.3.1.bb   |  1 +
>>  2 files changed, 40 insertions(+)
>>  create mode 100644
>> meta/recipes-connectivity/socat/socat/0001-Access-c_ispeed-and-c_ospeed-via-APIs.patch
>>
>> diff --git
>> a/meta/recipes-connectivity/socat/socat/0001-Access-c_ispeed-and-c_ospeed-via-APIs.patch
>> b/meta/recipes-connectivity/socat/socat/0001-Access-c_ispeed-and-c_ospeed-via-APIs.patch
>> new file mode 100644
>> index 0000000..367b48f
>> --- /dev/null
>> +++
>> b/meta/recipes-connectivity/socat/socat/0001-Access-c_ispeed-and-c_ospeed-via-APIs.patch
>> @@ -0,0 +1,39 @@
>> +From 545d3dec8c91d6074516ffcfa79323ddf9d83839 Mon Sep 17 00:00:00 2001
>> +From: Khem Raj <raj.khem at gmail.com>
>> +Date: Tue, 15 Mar 2016 21:36:02 +0000
>> +Subject: [PATCH] Access c_ispeed and c_ospeed via APIs
>> +
>> +Use cfsetispeed(), cfsetospeed(), cfgetispeed, and cfgetospeed()
>> +instead of operating on c_ispeed and c_ospeed termios structure
>> +members directly because they are not guaranteed to exist on all
>> +libc implementations
>
>
> I finally bisected a runtime failure on my container platform to this
> change. I'm now
> failing the new assertion, where I wasn't failing before this was added:
>
> socat-1.7.3.1/xioinitialize.c:70: xioinitialize: Assertion
> `cfgetispeed(&tdata.termarg) == tdata.speeds[ISPEED_OFFSET]' failed.
>

this is a benign change. Have you root caused it before you try to revert it

> I can revert this in my own layers, but what's the best way forward to get
> this
> fixed in core ?
>
> khem: This says it is submitted upstream, did it get accepted ? I can follow
> up on the socat
> list if it merged there as well.
>
> Bruce
>
>>
>> +
>> +Signed-off-by: Khem Raj <raj.khem at gmail.com>
>> +---
>> +Upstream-Status: Submitted
>> +
>> + xioinitialize.c | 8 ++++----
>> + 1 file changed, 4 insertions(+), 4 deletions(-)
>> +
>> +diff --git a/xioinitialize.c b/xioinitialize.c
>> +index 9f50155..632ca4c 100644
>> +--- a/xioinitialize.c
>> ++++ b/xioinitialize.c
>> +@@ -65,10 +65,10 @@ int xioinitialize(void) {
>> + #if HAVE_TERMIOS_ISPEED && (ISPEED_OFFSET != -1) && (OSPEED_OFFSET !=
>> -1)
>> + #if defined(ISPEED_OFFSET) && (ISPEED_OFFSET != -1)
>> + #if defined(OSPEED_OFFSET) && (OSPEED_OFFSET != -1)
>> +-      tdata.termarg.c_ispeed = 0x56789abc;
>> +-      tdata.termarg.c_ospeed = 0x6789abcd;
>> +-      assert(tdata.termarg.c_ispeed == tdata.speeds[ISPEED_OFFSET]);
>> +-      assert(tdata.termarg.c_ospeed == tdata.speeds[OSPEED_OFFSET]);
>> ++      cfsetispeed(&tdata.termarg, 0x56789abc);
>> ++      cfsetospeed(&tdata.termarg, 0x6789abcd);
>> ++      assert(cfgetispeed(&tdata.termarg) ==
>> tdata.speeds[ISPEED_OFFSET]);
>> ++      assert(cfgetospeed(&tdata.termarg) ==
>> tdata.speeds[OSPEED_OFFSET]);
>> + #endif
>> + #endif
>> + #endif
>> +--
>> +1.9.1
>> +
>> diff --git a/meta/recipes-connectivity/socat/socat_1.7.3.1.bb
>> b/meta/recipes-connectivity/socat/socat_1.7.3.1.bb
>> index b9a8a2f..6da9a17 100644
>> --- a/meta/recipes-connectivity/socat/socat_1.7.3.1.bb
>> +++ b/meta/recipes-connectivity/socat/socat_1.7.3.1.bb
>> @@ -15,6 +15,7 @@ LIC_FILES_CHKSUM =
>> "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
>>  SRC_URI = "http://www.dest-unreach.org/socat/download/socat-${PV}.tar.bz2
>> \
>>             file://Makefile.in-fix-for-parallel-build.patch \
>>             file://0001-define-NETDB_INTERNAL-to-1-if-not-available.patch
>> \
>> +           file://0001-Access-c_ispeed-and-c_ospeed-via-APIs.patch \
>>  "
>>
>>  SRC_URI[md5sum] = "334e46924f2b386299c9db2ac22bcd36"
>> --
>> 1.9.1
>>
>> --
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core at lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
>
>
>
> --
> "Thou shalt not follow the NULL pointer, for chaos and madness await thee at
> its end"



More information about the Openembedded-core mailing list