Patchwork [1/1] util-linux-native: fix qsort_r for CentOS 5.10

login
register
mail settings
Submitter Robert Yang
Date March 26, 2014, 7:01 a.m.
Message ID <7bb935ada71d07f3496a2ff8d2d73fe003e09a4f.1395816581.git.liezhi.yang@windriver.com>
Download mbox | patch
Permalink /patch/69211/
State Accepted
Commit 8add7ae494c7dac41f42656528a39471c2c85142
Headers show

Comments

Robert Yang - March 26, 2014, 7:01 a.m.
The qsort_r() was added to glibc in version 2.8, so there is no qsort_r() on
the host like CentOS 5.x, use qsort() to fix it since they are nearly
identical.

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
 .../util-linux/util-linux-native-qsort.patch       |   34 ++++++++++++++++++++
 meta/recipes-core/util-linux/util-linux_2.24.1.bb  |    4 ++-
 2 files changed, 37 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-core/util-linux/util-linux/util-linux-native-qsort.patch
Paul Barker - March 31, 2014, 9:22 p.m.
On 26 March 2014 07:01, Robert Yang <liezhi.yang@windriver.com> wrote:
> The qsort_r() was added to glibc in version 2.8, so there is no qsort_r() on
> the host like CentOS 5.x, use qsort() to fix it since they are nearly
> identical.
>
> Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
> ---
>  .../util-linux/util-linux-native-qsort.patch       |   34 ++++++++++++++++++++
>  meta/recipes-core/util-linux/util-linux_2.24.1.bb  |    4 ++-
>  2 files changed, 37 insertions(+), 1 deletion(-)
>  create mode 100644 meta/recipes-core/util-linux/util-linux/util-linux-native-qsort.patch
>
> diff --git a/meta/recipes-core/util-linux/util-linux/util-linux-native-qsort.patch b/meta/recipes-core/util-linux/util-linux/util-linux-native-qsort.patch
> new file mode 100644
> index 0000000..1707683
> --- /dev/null
> +++ b/meta/recipes-core/util-linux/util-linux/util-linux-native-qsort.patch
> @@ -0,0 +1,34 @@
> +From f220d809be1baa654503bf6ff52f3630b0d7015c Mon Sep 17 00:00:00 2001
> +From: Robert Yang <liezhi.yang@windriver.com>
> +Date: Wed, 26 Mar 2014 01:30:29 +0000
> +Subject: [PATCH] sun.c: use qsort() to instead of qsort_r()
> +
> +qsort_r() was added to glibc in version 2.8, so there is no qsort_r() on
> +the host like CentOS 5.x.
> +
> +Upstream-Status: Inappropriate [Other]
> +
> +Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
> +---
> + libfdisk/src/sun.c | 5 ++---
> + 1 file changed, 2 insertions(+), 3 deletions(-)
> +
> +diff --git a/libfdisk/src/sun.c b/libfdisk/src/sun.c
> +index e73c701..f7899ec 100644
> +--- a/libfdisk/src/sun.c
> ++++ b/libfdisk/src/sun.c
> +@@ -427,9 +427,8 @@ static int sun_verify_disklabel(struct fdisk_context *cxt)
> +         else
> +             array[i] = -1;
> +     }
> +-    qsort_r(array,ARRAY_SIZE(array),sizeof(array[0]),
> +-        (int (*)(const void *,const void *,void *)) verify_sun_cmp,
> +-        verify_sun_starts);
> ++    qsort(array,ARRAY_SIZE(array),sizeof(array[0]),
> ++        (int (*)(const void *,const void *)) verify_sun_cmp);

I've just been looking at this for building util-linux on top of musl
(as musl-libc doesn't implement qsort_r)
and my solution was to import a qsort_r implementation from ccl
(https://ccl.googlecode.com/svn/trunk/qsort_r.c).

Are you sure this solution works? verify_sun_cmp takes 3 parameters
not 2 and it uses the 3rd parameter (data). From reading this I'd
imagine a segfault is likely to occur in verify_sun_cmp if qsort is
used instead of qsort_r.

> +
> +     if (array[0] == -1) {
> +       fdisk_info(cxt, _("No partitions defined."));
> +--
> +1.8.2.1
> +
> diff --git a/meta/recipes-core/util-linux/util-linux_2.24.1.bb b/meta/recipes-core/util-linux/util-linux_2.24.1.bb
> index aa98b65..ab80ab6 100644
> --- a/meta/recipes-core/util-linux/util-linux_2.24.1.bb
> +++ b/meta/recipes-core/util-linux/util-linux_2.24.1.bb
> @@ -4,7 +4,9 @@ require util-linux.inc
>  # To support older hosts, we need to patch and/or revert
>  # some upstream changes.  Only do this for native packages.
>  OLDHOST = ""
> -OLDHOST_class-native = "file://util-linux-native.patch"
> +OLDHOST_class-native = "file://util-linux-native.patch \
> +                        file://util-linux-native-qsort.patch \
> +                       "
>
>  SRC_URI += "file://util-linux-ng-replace-siginterrupt.patch \
>              file://util-linux-ng-2.16-mount_lock_path.patch \
> --
> 1.7.10.4
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core

Thanks,
Robert Yang - April 1, 2014, 1:34 a.m.
On 04/01/2014 05:22 AM, Paul Barker wrote:
> On 26 March 2014 07:01, Robert Yang <liezhi.yang@windriver.com> wrote:
>> The qsort_r() was added to glibc in version 2.8, so there is no qsort_r() on
>> the host like CentOS 5.x, use qsort() to fix it since they are nearly
>> identical.
>>
>> Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
>> ---
>>   .../util-linux/util-linux-native-qsort.patch       |   34 ++++++++++++++++++++
>>   meta/recipes-core/util-linux/util-linux_2.24.1.bb  |    4 ++-
>>   2 files changed, 37 insertions(+), 1 deletion(-)
>>   create mode 100644 meta/recipes-core/util-linux/util-linux/util-linux-native-qsort.patch
>>
>> diff --git a/meta/recipes-core/util-linux/util-linux/util-linux-native-qsort.patch b/meta/recipes-core/util-linux/util-linux/util-linux-native-qsort.patch
>> new file mode 100644
>> index 0000000..1707683
>> --- /dev/null
>> +++ b/meta/recipes-core/util-linux/util-linux/util-linux-native-qsort.patch
>> @@ -0,0 +1,34 @@
>> +From f220d809be1baa654503bf6ff52f3630b0d7015c Mon Sep 17 00:00:00 2001
>> +From: Robert Yang <liezhi.yang@windriver.com>
>> +Date: Wed, 26 Mar 2014 01:30:29 +0000
>> +Subject: [PATCH] sun.c: use qsort() to instead of qsort_r()
>> +
>> +qsort_r() was added to glibc in version 2.8, so there is no qsort_r() on
>> +the host like CentOS 5.x.
>> +
>> +Upstream-Status: Inappropriate [Other]
>> +
>> +Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
>> +---
>> + libfdisk/src/sun.c | 5 ++---
>> + 1 file changed, 2 insertions(+), 3 deletions(-)
>> +
>> +diff --git a/libfdisk/src/sun.c b/libfdisk/src/sun.c
>> +index e73c701..f7899ec 100644
>> +--- a/libfdisk/src/sun.c
>> ++++ b/libfdisk/src/sun.c
>> +@@ -427,9 +427,8 @@ static int sun_verify_disklabel(struct fdisk_context *cxt)
>> +         else
>> +             array[i] = -1;
>> +     }
>> +-    qsort_r(array,ARRAY_SIZE(array),sizeof(array[0]),
>> +-        (int (*)(const void *,const void *,void *)) verify_sun_cmp,
>> +-        verify_sun_starts);
>> ++    qsort(array,ARRAY_SIZE(array),sizeof(array[0]),
>> ++        (int (*)(const void *,const void *)) verify_sun_cmp);
>
> I've just been looking at this for building util-linux on top of musl
> (as musl-libc doesn't implement qsort_r)
> and my solution was to import a qsort_r implementation from ccl
> (https://ccl.googlecode.com/svn/trunk/qsort_r.c).
>

Maybe we can do it in YP 1.7.

> Are you sure this solution works? verify_sun_cmp takes 3 parameters
> not 2 and it uses the 3rd parameter (data). From reading this I'd
> imagine a segfault is likely to occur in verify_sun_cmp if qsort is
> used instead of qsort_r.
>

I think it works well since there is a similar patch before we upgrade
the util-linux-native, I will verify later.

// Robert


>> +
>> +     if (array[0] == -1) {
>> +       fdisk_info(cxt, _("No partitions defined."));
>> +--
>> +1.8.2.1
>> +
>> diff --git a/meta/recipes-core/util-linux/util-linux_2.24.1.bb b/meta/recipes-core/util-linux/util-linux_2.24.1.bb
>> index aa98b65..ab80ab6 100644
>> --- a/meta/recipes-core/util-linux/util-linux_2.24.1.bb
>> +++ b/meta/recipes-core/util-linux/util-linux_2.24.1.bb
>> @@ -4,7 +4,9 @@ require util-linux.inc
>>   # To support older hosts, we need to patch and/or revert
>>   # some upstream changes.  Only do this for native packages.
>>   OLDHOST = ""
>> -OLDHOST_class-native = "file://util-linux-native.patch"
>> +OLDHOST_class-native = "file://util-linux-native.patch \
>> +                        file://util-linux-native-qsort.patch \
>> +                       "
>>
>>   SRC_URI += "file://util-linux-ng-replace-siginterrupt.patch \
>>               file://util-linux-ng-2.16-mount_lock_path.patch \
>> --
>> 1.7.10.4
>>
>> --
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
> Thanks,
>
Paul Barker - April 1, 2014, 11:41 a.m.
On 1 April 2014 02:34, Robert Yang <liezhi.yang@windriver.com> wrote:
>
>
> On 04/01/2014 05:22 AM, Paul Barker wrote:
>>
>> On 26 March 2014 07:01, Robert Yang <liezhi.yang@windriver.com> wrote:
>>>
>>> The qsort_r() was added to glibc in version 2.8, so there is no qsort_r()
>>> on
>>> the host like CentOS 5.x, use qsort() to fix it since they are nearly
>>> identical.
>>>
>>> Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
>>> ---
>>>   .../util-linux/util-linux-native-qsort.patch       |   34
>>> ++++++++++++++++++++
>>>   meta/recipes-core/util-linux/util-linux_2.24.1.bb  |    4 ++-
>>>   2 files changed, 37 insertions(+), 1 deletion(-)
>>>   create mode 100644
>>> meta/recipes-core/util-linux/util-linux/util-linux-native-qsort.patch
>>>
>>> diff --git
>>> a/meta/recipes-core/util-linux/util-linux/util-linux-native-qsort.patch
>>> b/meta/recipes-core/util-linux/util-linux/util-linux-native-qsort.patch
>>> new file mode 100644
>>> index 0000000..1707683
>>> --- /dev/null
>>> +++
>>> b/meta/recipes-core/util-linux/util-linux/util-linux-native-qsort.patch
>>> @@ -0,0 +1,34 @@
>>> +From f220d809be1baa654503bf6ff52f3630b0d7015c Mon Sep 17 00:00:00 2001
>>> +From: Robert Yang <liezhi.yang@windriver.com>
>>> +Date: Wed, 26 Mar 2014 01:30:29 +0000
>>> +Subject: [PATCH] sun.c: use qsort() to instead of qsort_r()
>>> +
>>> +qsort_r() was added to glibc in version 2.8, so there is no qsort_r() on
>>> +the host like CentOS 5.x.
>>> +
>>> +Upstream-Status: Inappropriate [Other]
>>> +
>>> +Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
>>> +---
>>> + libfdisk/src/sun.c | 5 ++---
>>> + 1 file changed, 2 insertions(+), 3 deletions(-)
>>> +
>>> +diff --git a/libfdisk/src/sun.c b/libfdisk/src/sun.c
>>> +index e73c701..f7899ec 100644
>>> +--- a/libfdisk/src/sun.c
>>> ++++ b/libfdisk/src/sun.c
>>> +@@ -427,9 +427,8 @@ static int sun_verify_disklabel(struct fdisk_context
>>> *cxt)
>>> +         else
>>> +             array[i] = -1;
>>> +     }
>>> +-    qsort_r(array,ARRAY_SIZE(array),sizeof(array[0]),
>>> +-        (int (*)(const void *,const void *,void *)) verify_sun_cmp,
>>> +-        verify_sun_starts);
>>> ++    qsort(array,ARRAY_SIZE(array),sizeof(array[0]),
>>> ++        (int (*)(const void *,const void *)) verify_sun_cmp);
>>
>>
>> I've just been looking at this for building util-linux on top of musl
>> (as musl-libc doesn't implement qsort_r)
>> and my solution was to import a qsort_r implementation from ccl
>> (https://ccl.googlecode.com/svn/trunk/qsort_r.c).
>>
>
> Maybe we can do it in YP 1.7.
>
>
>> Are you sure this solution works? verify_sun_cmp takes 3 parameters
>> not 2 and it uses the 3rd parameter (data). From reading this I'd
>> imagine a segfault is likely to occur in verify_sun_cmp if qsort is
>> used instead of qsort_r.
>>
>
> I think it works well since there is a similar patch before we upgrade
> the util-linux-native, I will verify later.
>

The more I look at it the more I don't like this patch. It's probably
a very rarely used code path but it could blow up if it's called. C
provides no guarantees that calling a 3-argument function with only 2
arguments will work. Depending on calling convention it could easily
result in stack corruption on some platforms.

I'd suggest we try reverting the relevant bits of the upstream change
from qsort to
qsort_r: http://git.kernel.org/cgit/utils/util-linux/util-linux.git/commit/?id=c69bbca9c1f6645097bd20fe3a21f5a99a2a0698

I think it should just be the first 3 patch hunks in that commit.
Phil Blundell - April 1, 2014, 12:31 p.m.
On Tue, 2014-04-01 at 12:41 +0100, Paul Barker wrote:
> The more I look at it the more I don't like this patch. It's probably
> a very rarely used code path but it could blow up if it's called. C
> provides no guarantees that calling a 3-argument function with only 2
> arguments will work. Depending on calling convention it could easily
> result in stack corruption on some platforms.
> 
> I'd suggest we try reverting the relevant bits of the upstream change
> from qsort to
> qsort_r: http://git.kernel.org/cgit/utils/util-linux/util-linux.git/commit/?id=c69bbca9c1f6645097bd20fe3a21f5a99a2a0698
> 
> I think it should just be the first 3 patch hunks in that commit.

It seems vanishingly unlikely that anybody is seriously going to try to
use fdisk from util-linux-native to manipulate Sun partition tables and,
that being the case, it's presumably going to be quite hard to test any
such change.  Maybe we should just turn off support for these fringe
partition table types altogether.

p.
Paul Barker - April 1, 2014, 12:34 p.m.
On 1 April 2014 13:31, Phil Blundell <pb@pbcl.net> wrote:
> On Tue, 2014-04-01 at 12:41 +0100, Paul Barker wrote:
>> The more I look at it the more I don't like this patch. It's probably
>> a very rarely used code path but it could blow up if it's called. C
>> provides no guarantees that calling a 3-argument function with only 2
>> arguments will work. Depending on calling convention it could easily
>> result in stack corruption on some platforms.
>>
>> I'd suggest we try reverting the relevant bits of the upstream change
>> from qsort to
>> qsort_r: http://git.kernel.org/cgit/utils/util-linux/util-linux.git/commit/?id=c69bbca9c1f6645097bd20fe3a21f5a99a2a0698
>>
>> I think it should just be the first 3 patch hunks in that commit.
>
> It seems vanishingly unlikely that anybody is seriously going to try to
> use fdisk from util-linux-native to manipulate Sun partition tables and,
> that being the case, it's presumably going to be quite hard to test any
> such change.  Maybe we should just turn off support for these fringe
> partition table types altogether.
>

That may be a much, much easier fix.

I've reported this to the upstream mailing list anyway as there really
should be an autoconf check for qsort_r.

Thanks,
Robert Yang - April 1, 2014, 1:48 p.m.
On 04/01/2014 08:34 PM, Paul Barker wrote:
> On 1 April 2014 13:31, Phil Blundell <pb@pbcl.net> wrote:
>> On Tue, 2014-04-01 at 12:41 +0100, Paul Barker wrote:
>>> The more I look at it the more I don't like this patch. It's probably
>>> a very rarely used code path but it could blow up if it's called. C
>>> provides no guarantees that calling a 3-argument function with only 2
>>> arguments will work. Depending on calling convention it could easily
>>> result in stack corruption on some platforms.
>>>
>>> I'd suggest we try reverting the relevant bits of the upstream change
>>> from qsort to
>>> qsort_r: http://git.kernel.org/cgit/utils/util-linux/util-linux.git/commit/?id=c69bbca9c1f6645097bd20fe3a21f5a99a2a0698
>>>
>>> I think it should just be the first 3 patch hunks in that commit.
>>
>> It seems vanishingly unlikely that anybody is seriously going to try to
>> use fdisk from util-linux-native to manipulate Sun partition tables and,
>> that being the case, it's presumably going to be quite hard to test any
>> such change.  Maybe we should just turn off support for these fringe
>> partition table types altogether.
>>
>
> That may be a much, much easier fix.

Thank you very much, I will send a patch later:-)

// Robert

>
> I've reported this to the upstream mailing list anyway as there really
> should be an autoconf check for qsort_r.
>
> Thanks,
>
Paul Barker - April 2, 2014, 5:31 p.m.
On 1 April 2014 14:48, Robert Yang <liezhi.yang@windriver.com> wrote:
>
>
> On 04/01/2014 08:34 PM, Paul Barker wrote:
>>
>> On 1 April 2014 13:31, Phil Blundell <pb@pbcl.net> wrote:
>>>
>>> On Tue, 2014-04-01 at 12:41 +0100, Paul Barker wrote:
>>>>
>>>> The more I look at it the more I don't like this patch. It's probably
>>>> a very rarely used code path but it could blow up if it's called. C
>>>> provides no guarantees that calling a 3-argument function with only 2
>>>> arguments will work. Depending on calling convention it could easily
>>>> result in stack corruption on some platforms.
>>>>
>>>> I'd suggest we try reverting the relevant bits of the upstream change
>>>> from qsort to
>>>> qsort_r:
>>>> http://git.kernel.org/cgit/utils/util-linux/util-linux.git/commit/?id=c69bbca9c1f6645097bd20fe3a21f5a99a2a0698
>>>>
>>>> I think it should just be the first 3 patch hunks in that commit.
>>>
>>>
>>> It seems vanishingly unlikely that anybody is seriously going to try to
>>> use fdisk from util-linux-native to manipulate Sun partition tables and,
>>> that being the case, it's presumably going to be quite hard to test any
>>> such change.  Maybe we should just turn off support for these fringe
>>> partition table types altogether.
>>>
>>
>> That may be a much, much easier fix.
>
>
> Thank you very much, I will send a patch later:-)
>

Sorry to confuse the matter further but it seems Khem has also made a
fix for this which removes qsort_r in a more reliable way, along with
removing a few other non-posix compliant bits:
http://git.openembedded.org/openembedded-core-contrib/commit/?h=kraj/musl&id=0e0d93d8d5fdcdc9cbcd9da2be1d0193a06d3188

I'm happy with that fix, could you let me know if it works for you Robert?
Robert Yang - April 3, 2014, 2:31 a.m.
On 04/03/2014 01:31 AM, Paul Barker wrote:
> On 1 April 2014 14:48, Robert Yang <liezhi.yang@windriver.com> wrote:
>>
>>
>> On 04/01/2014 08:34 PM, Paul Barker wrote:
>>>
>>> On 1 April 2014 13:31, Phil Blundell <pb@pbcl.net> wrote:
>>>>
>>>> On Tue, 2014-04-01 at 12:41 +0100, Paul Barker wrote:
>>>>>
>>>>> The more I look at it the more I don't like this patch. It's probably
>>>>> a very rarely used code path but it could blow up if it's called. C
>>>>> provides no guarantees that calling a 3-argument function with only 2
>>>>> arguments will work. Depending on calling convention it could easily
>>>>> result in stack corruption on some platforms.
>>>>>
>>>>> I'd suggest we try reverting the relevant bits of the upstream change
>>>>> from qsort to
>>>>> qsort_r:
>>>>> http://git.kernel.org/cgit/utils/util-linux/util-linux.git/commit/?id=c69bbca9c1f6645097bd20fe3a21f5a99a2a0698
>>>>>
>>>>> I think it should just be the first 3 patch hunks in that commit.
>>>>
>>>>
>>>> It seems vanishingly unlikely that anybody is seriously going to try to
>>>> use fdisk from util-linux-native to manipulate Sun partition tables and,
>>>> that being the case, it's presumably going to be quite hard to test any
>>>> such change.  Maybe we should just turn off support for these fringe
>>>> partition table types altogether.
>>>>
>>>
>>> That may be a much, much easier fix.
>>
>>
>> Thank you very much, I will send a patch later:-)
>>
>
> Sorry to confuse the matter further but it seems Khem has also made a
> fix for this which removes qsort_r in a more reliable way, along with
> removing a few other non-posix compliant bits:
> http://git.openembedded.org/openembedded-core-contrib/commit/?h=kraj/musl&id=0e0d93d8d5fdcdc9cbcd9da2be1d0193a06d3188
>

Yes, it works, thanks.

// Robert


> I'm happy with that fix, could you let me know if it works for you Robert?
>

Patch

diff --git a/meta/recipes-core/util-linux/util-linux/util-linux-native-qsort.patch b/meta/recipes-core/util-linux/util-linux/util-linux-native-qsort.patch
new file mode 100644
index 0000000..1707683
--- /dev/null
+++ b/meta/recipes-core/util-linux/util-linux/util-linux-native-qsort.patch
@@ -0,0 +1,34 @@ 
+From f220d809be1baa654503bf6ff52f3630b0d7015c Mon Sep 17 00:00:00 2001
+From: Robert Yang <liezhi.yang@windriver.com>
+Date: Wed, 26 Mar 2014 01:30:29 +0000
+Subject: [PATCH] sun.c: use qsort() to instead of qsort_r()
+
+qsort_r() was added to glibc in version 2.8, so there is no qsort_r() on
+the host like CentOS 5.x.
+
+Upstream-Status: Inappropriate [Other]
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+---
+ libfdisk/src/sun.c | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/libfdisk/src/sun.c b/libfdisk/src/sun.c
+index e73c701..f7899ec 100644
+--- a/libfdisk/src/sun.c
++++ b/libfdisk/src/sun.c
+@@ -427,9 +427,8 @@ static int sun_verify_disklabel(struct fdisk_context *cxt)
+         else
+             array[i] = -1;
+     }
+-    qsort_r(array,ARRAY_SIZE(array),sizeof(array[0]),
+-	  (int (*)(const void *,const void *,void *)) verify_sun_cmp,
+-	  verify_sun_starts);
++    qsort(array,ARRAY_SIZE(array),sizeof(array[0]),
++	  (int (*)(const void *,const void *)) verify_sun_cmp);
+ 
+     if (array[0] == -1) {
+ 	fdisk_info(cxt, _("No partitions defined."));
+-- 
+1.8.2.1
+
diff --git a/meta/recipes-core/util-linux/util-linux_2.24.1.bb b/meta/recipes-core/util-linux/util-linux_2.24.1.bb
index aa98b65..ab80ab6 100644
--- a/meta/recipes-core/util-linux/util-linux_2.24.1.bb
+++ b/meta/recipes-core/util-linux/util-linux_2.24.1.bb
@@ -4,7 +4,9 @@  require util-linux.inc
 # To support older hosts, we need to patch and/or revert
 # some upstream changes.  Only do this for native packages.
 OLDHOST = ""
-OLDHOST_class-native = "file://util-linux-native.patch"
+OLDHOST_class-native = "file://util-linux-native.patch \
+                        file://util-linux-native-qsort.patch \
+			"
 
 SRC_URI += "file://util-linux-ng-replace-siginterrupt.patch \
             file://util-linux-ng-2.16-mount_lock_path.patch \