* [Buildroot] [PATCH 1/2] uclibc: add a missing function member to siginfo.h
@ 2014-01-08 17:32 Vicente Olivert Riera
2014-01-08 17:32 ` [Buildroot] [PATCH 2/2] uclibc: Make __SIGEV_PAD_SIZE to take __WORDSIZE into account Vicente Olivert Riera
` (3 more replies)
0 siblings, 4 replies; 11+ messages in thread
From: Vicente Olivert Riera @ 2014-01-08 17:32 UTC (permalink / raw)
To: buildroot
Applying an upstream patch to add a missing function member on ia64,
mips and sparc arches.
Upstream patch URL:
http://git.uclibc.org/uClibc/commit/libc/sysdeps/linux?id=b4e6e61e2f7c6fb4bf59f66efaa74591a2112912
Fixes:
http://autobuild.buildroot.net/results/fa0/fa03ecc087a4b30df8b0366bb238be3d167a56d9/
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
---
...9-siginfo_h-add-a-missing-function-member.patch | 66 ++++++++++++++++++++
...5-siginfo_h-add-a-missing-function-member.patch | 66 ++++++++++++++++++++
2 files changed, 132 insertions(+), 0 deletions(-)
create mode 100644 package/uclibc/0.9.32.1/uclibc-0009-siginfo_h-add-a-missing-function-member.patch
create mode 100644 package/uclibc/0.9.33.2/uclibc-0055-siginfo_h-add-a-missing-function-member.patch
diff --git a/package/uclibc/0.9.32.1/uclibc-0009-siginfo_h-add-a-missing-function-member.patch b/package/uclibc/0.9.32.1/uclibc-0009-siginfo_h-add-a-missing-function-member.patch
new file mode 100644
index 0000000..1a837bb
--- /dev/null
+++ b/package/uclibc/0.9.32.1/uclibc-0009-siginfo_h-add-a-missing-function-member.patch
@@ -0,0 +1,66 @@
+siginfo.h: add a missing function member on ia64, mips and sparc arches
+Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+
+From b4e6e61e2f7c6fb4bf59f66efaa74591a2112912 Mon Sep 17 00:00:00 2001
+From: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+Date: Thu, 02 Jan 2014 15:02:11 +0000
+Subject: siginfo.h: add a missing function member on ia64, mips and sparc arches
+
+Add "__pid_t _tid" member which is used for some packages, like rt-test
+for instance, which fails with an error like this one:
+
+src/cyclictest/cyclictest.c:638:9: error: 'union <anonymous>' has no
+member named '_tid'
+
+Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
+---
+(limited to 'libc/sysdeps/linux')
+
+diff --git a/libc/sysdeps/linux/ia64/bits/siginfo.h b/libc/sysdeps/linux/ia64/bits/siginfo.h
+index f571f46..82cc73f 100644
+--- a/libc/sysdeps/linux/ia64/bits/siginfo.h
++++ b/libc/sysdeps/linux/ia64/bits/siginfo.h
+@@ -309,6 +309,10 @@ typedef struct sigevent
+ {
+ int _pad[__SIGEV_PAD_SIZE];
+
++ /* When SIGEV_SIGNAL and SIGEV_THREAD_ID set, LWP ID of the
++ thread to receive the signal. */
++ __pid_t _tid;
++
+ struct
+ {
+ void (*_function) (sigval_t); /* Function to start. */
+diff --git a/libc/sysdeps/linux/mips/bits/siginfo.h b/libc/sysdeps/linux/mips/bits/siginfo.h
+index 79fb15a..84b08ca 100644
+--- a/libc/sysdeps/linux/mips/bits/siginfo.h
++++ b/libc/sysdeps/linux/mips/bits/siginfo.h
+@@ -281,6 +281,10 @@ typedef struct sigevent
+ {
+ int _pad[__SIGEV_PAD_SIZE];
+
++ /* When SIGEV_SIGNAL and SIGEV_THREAD_ID set, LWP ID of the
++ thread to receive the signal. */
++ __pid_t _tid;
++
+ struct
+ {
+ void (*_function) (sigval_t); /* Function to start. */
+diff --git a/libc/sysdeps/linux/sparc/bits/siginfo.h b/libc/sysdeps/linux/sparc/bits/siginfo.h
+index 6f2d035..3ffeb6d 100644
+--- a/libc/sysdeps/linux/sparc/bits/siginfo.h
++++ b/libc/sysdeps/linux/sparc/bits/siginfo.h
+@@ -288,6 +288,10 @@ typedef struct sigevent
+ {
+ int _pad[__SIGEV_PAD_SIZE];
+
++ /* When SIGEV_SIGNAL and SIGEV_THREAD_ID set, LWP ID of the
++ thread to receive the signal. */
++ __pid_t _tid;
++
+ struct
+ {
+ void (*_function) (sigval_t); /* Function to start. */
+--
+cgit v0.9.1
diff --git a/package/uclibc/0.9.33.2/uclibc-0055-siginfo_h-add-a-missing-function-member.patch b/package/uclibc/0.9.33.2/uclibc-0055-siginfo_h-add-a-missing-function-member.patch
new file mode 100644
index 0000000..1a837bb
--- /dev/null
+++ b/package/uclibc/0.9.33.2/uclibc-0055-siginfo_h-add-a-missing-function-member.patch
@@ -0,0 +1,66 @@
+siginfo.h: add a missing function member on ia64, mips and sparc arches
+Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+
+From b4e6e61e2f7c6fb4bf59f66efaa74591a2112912 Mon Sep 17 00:00:00 2001
+From: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+Date: Thu, 02 Jan 2014 15:02:11 +0000
+Subject: siginfo.h: add a missing function member on ia64, mips and sparc arches
+
+Add "__pid_t _tid" member which is used for some packages, like rt-test
+for instance, which fails with an error like this one:
+
+src/cyclictest/cyclictest.c:638:9: error: 'union <anonymous>' has no
+member named '_tid'
+
+Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
+---
+(limited to 'libc/sysdeps/linux')
+
+diff --git a/libc/sysdeps/linux/ia64/bits/siginfo.h b/libc/sysdeps/linux/ia64/bits/siginfo.h
+index f571f46..82cc73f 100644
+--- a/libc/sysdeps/linux/ia64/bits/siginfo.h
++++ b/libc/sysdeps/linux/ia64/bits/siginfo.h
+@@ -309,6 +309,10 @@ typedef struct sigevent
+ {
+ int _pad[__SIGEV_PAD_SIZE];
+
++ /* When SIGEV_SIGNAL and SIGEV_THREAD_ID set, LWP ID of the
++ thread to receive the signal. */
++ __pid_t _tid;
++
+ struct
+ {
+ void (*_function) (sigval_t); /* Function to start. */
+diff --git a/libc/sysdeps/linux/mips/bits/siginfo.h b/libc/sysdeps/linux/mips/bits/siginfo.h
+index 79fb15a..84b08ca 100644
+--- a/libc/sysdeps/linux/mips/bits/siginfo.h
++++ b/libc/sysdeps/linux/mips/bits/siginfo.h
+@@ -281,6 +281,10 @@ typedef struct sigevent
+ {
+ int _pad[__SIGEV_PAD_SIZE];
+
++ /* When SIGEV_SIGNAL and SIGEV_THREAD_ID set, LWP ID of the
++ thread to receive the signal. */
++ __pid_t _tid;
++
+ struct
+ {
+ void (*_function) (sigval_t); /* Function to start. */
+diff --git a/libc/sysdeps/linux/sparc/bits/siginfo.h b/libc/sysdeps/linux/sparc/bits/siginfo.h
+index 6f2d035..3ffeb6d 100644
+--- a/libc/sysdeps/linux/sparc/bits/siginfo.h
++++ b/libc/sysdeps/linux/sparc/bits/siginfo.h
+@@ -288,6 +288,10 @@ typedef struct sigevent
+ {
+ int _pad[__SIGEV_PAD_SIZE];
+
++ /* When SIGEV_SIGNAL and SIGEV_THREAD_ID set, LWP ID of the
++ thread to receive the signal. */
++ __pid_t _tid;
++
+ struct
+ {
+ void (*_function) (sigval_t); /* Function to start. */
+--
+cgit v0.9.1
--
1.7.1
^ permalink raw reply related [flat|nested] 11+ messages in thread* [Buildroot] [PATCH 2/2] uclibc: Make __SIGEV_PAD_SIZE to take __WORDSIZE into account
2014-01-08 17:32 [Buildroot] [PATCH 1/2] uclibc: add a missing function member to siginfo.h Vicente Olivert Riera
@ 2014-01-08 17:32 ` Vicente Olivert Riera
2014-10-12 7:46 ` Peter Korsgaard
2014-01-09 2:40 ` [Buildroot] [PATCH 1/2] uclibc: add a missing function member to siginfo.h Thomas Petazzoni
` (2 subsequent siblings)
3 siblings, 1 reply; 11+ messages in thread
From: Vicente Olivert Riera @ 2014-01-08 17:32 UTC (permalink / raw)
To: buildroot
Applying an upstream patch to make __SIGEV_PAD_SIZE to take __WORDSIZE
into account for alpha, mips and ia64 arches.
Upstream patch URL:
http://git.uclibc.org/uClibc/commit/libc/sysdeps/linux?id=b97b4b698b023f75b54f987859c856ab4861ea00
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
---
...EV_PAD_SIZE-takes-__WORDSIZE-into-account.patch | 70 ++++++++++++++++++++
...EV_PAD_SIZE-takes-__WORDSIZE-into-account.patch | 70 ++++++++++++++++++++
2 files changed, 140 insertions(+), 0 deletions(-)
create mode 100644 package/uclibc/0.9.32.1/uclibc-0010-siginfo_h-__SIGEV_PAD_SIZE-takes-__WORDSIZE-into-account.patch
create mode 100644 package/uclibc/0.9.33.2/uclibc-0056-siginfo_h-__SIGEV_PAD_SIZE-takes-__WORDSIZE-into-account.patch
diff --git a/package/uclibc/0.9.32.1/uclibc-0010-siginfo_h-__SIGEV_PAD_SIZE-takes-__WORDSIZE-into-account.patch b/package/uclibc/0.9.32.1/uclibc-0010-siginfo_h-__SIGEV_PAD_SIZE-takes-__WORDSIZE-into-account.patch
new file mode 100644
index 0000000..1ad84c5
--- /dev/null
+++ b/package/uclibc/0.9.32.1/uclibc-0010-siginfo_h-__SIGEV_PAD_SIZE-takes-__WORDSIZE-into-account.patch
@@ -0,0 +1,70 @@
+siginfo.h: __SIGEV_PAD_SIZE takes __WORDSIZE into account
+Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+
+From b97b4b698b023f75b54f987859c856ab4861ea00 Mon Sep 17 00:00:00 2001
+From: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+Date: Thu, 02 Jan 2014 15:02:12 +0000
+Subject: siginfo.h: __SIGEV_PAD_SIZE takes __WORDSIZE into account
+
+Make __SIGEV_PAD_SIZE to take __WORDSIZE into account for alpha, mips
+and ia64 arches.
+
+Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
+---
+(limited to 'libc/sysdeps/linux')
+
+diff --git a/libc/sysdeps/linux/alpha/bits/siginfo.h b/libc/sysdeps/linux/alpha/bits/siginfo.h
+index 9993f66..0a37ad0 100644
+--- a/libc/sysdeps/linux/alpha/bits/siginfo.h
++++ b/libc/sysdeps/linux/alpha/bits/siginfo.h
+@@ -257,7 +257,11 @@ enum
+
+ /* Structure to transport application-defined values with signals. */
+ # define __SIGEV_MAX_SIZE 64
+-# define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE / sizeof (int)) - 4)
++# if __WORDSIZE == 64
++# define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE / sizeof (int)) - 4)
++# else
++# define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE / sizeof (int)) - 3)
++# endif
+
+ typedef struct sigevent
+ {
+diff --git a/libc/sysdeps/linux/ia64/bits/siginfo.h b/libc/sysdeps/linux/ia64/bits/siginfo.h
+index 82cc73f..3ac988b 100644
+--- a/libc/sysdeps/linux/ia64/bits/siginfo.h
++++ b/libc/sysdeps/linux/ia64/bits/siginfo.h
+@@ -297,7 +297,11 @@ enum
+
+ /* Structure to transport application-defined values with signals. */
+ # define __SIGEV_MAX_SIZE 64
+-# define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE / sizeof (int)) - 4)
++# if __WORDSIZE == 64
++# define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE / sizeof (int)) - 4)
++# else
++# define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE / sizeof (int)) - 3)
++# endif
+
+ typedef struct sigevent
+ {
+diff --git a/libc/sysdeps/linux/mips/bits/siginfo.h b/libc/sysdeps/linux/mips/bits/siginfo.h
+index 84b08ca..a6e4135 100644
+--- a/libc/sysdeps/linux/mips/bits/siginfo.h
++++ b/libc/sysdeps/linux/mips/bits/siginfo.h
+@@ -264,8 +264,11 @@ enum
+
+ /* Structure to transport application-defined values with signals. */
+ # define __SIGEV_MAX_SIZE 64
+-# define __SIGEV_HEAD_SIZE (sizeof(long) + 2*sizeof(int))
+-# define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE - __SIGEV_HEAD_SIZE) / sizeof (int))
++# if __WORDSIZE == 64
++# define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE / sizeof (int)) - 4)
++# else
++# define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE / sizeof (int)) - 3)
++# endif
+
+ /* Forward declaration of the `pthread_attr_t' type. */
+ struct __pthread_attr_s;
+--
+cgit v0.9.1
diff --git a/package/uclibc/0.9.33.2/uclibc-0056-siginfo_h-__SIGEV_PAD_SIZE-takes-__WORDSIZE-into-account.patch b/package/uclibc/0.9.33.2/uclibc-0056-siginfo_h-__SIGEV_PAD_SIZE-takes-__WORDSIZE-into-account.patch
new file mode 100644
index 0000000..1ad84c5
--- /dev/null
+++ b/package/uclibc/0.9.33.2/uclibc-0056-siginfo_h-__SIGEV_PAD_SIZE-takes-__WORDSIZE-into-account.patch
@@ -0,0 +1,70 @@
+siginfo.h: __SIGEV_PAD_SIZE takes __WORDSIZE into account
+Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+
+From b97b4b698b023f75b54f987859c856ab4861ea00 Mon Sep 17 00:00:00 2001
+From: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+Date: Thu, 02 Jan 2014 15:02:12 +0000
+Subject: siginfo.h: __SIGEV_PAD_SIZE takes __WORDSIZE into account
+
+Make __SIGEV_PAD_SIZE to take __WORDSIZE into account for alpha, mips
+and ia64 arches.
+
+Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
+---
+(limited to 'libc/sysdeps/linux')
+
+diff --git a/libc/sysdeps/linux/alpha/bits/siginfo.h b/libc/sysdeps/linux/alpha/bits/siginfo.h
+index 9993f66..0a37ad0 100644
+--- a/libc/sysdeps/linux/alpha/bits/siginfo.h
++++ b/libc/sysdeps/linux/alpha/bits/siginfo.h
+@@ -257,7 +257,11 @@ enum
+
+ /* Structure to transport application-defined values with signals. */
+ # define __SIGEV_MAX_SIZE 64
+-# define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE / sizeof (int)) - 4)
++# if __WORDSIZE == 64
++# define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE / sizeof (int)) - 4)
++# else
++# define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE / sizeof (int)) - 3)
++# endif
+
+ typedef struct sigevent
+ {
+diff --git a/libc/sysdeps/linux/ia64/bits/siginfo.h b/libc/sysdeps/linux/ia64/bits/siginfo.h
+index 82cc73f..3ac988b 100644
+--- a/libc/sysdeps/linux/ia64/bits/siginfo.h
++++ b/libc/sysdeps/linux/ia64/bits/siginfo.h
+@@ -297,7 +297,11 @@ enum
+
+ /* Structure to transport application-defined values with signals. */
+ # define __SIGEV_MAX_SIZE 64
+-# define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE / sizeof (int)) - 4)
++# if __WORDSIZE == 64
++# define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE / sizeof (int)) - 4)
++# else
++# define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE / sizeof (int)) - 3)
++# endif
+
+ typedef struct sigevent
+ {
+diff --git a/libc/sysdeps/linux/mips/bits/siginfo.h b/libc/sysdeps/linux/mips/bits/siginfo.h
+index 84b08ca..a6e4135 100644
+--- a/libc/sysdeps/linux/mips/bits/siginfo.h
++++ b/libc/sysdeps/linux/mips/bits/siginfo.h
+@@ -264,8 +264,11 @@ enum
+
+ /* Structure to transport application-defined values with signals. */
+ # define __SIGEV_MAX_SIZE 64
+-# define __SIGEV_HEAD_SIZE (sizeof(long) + 2*sizeof(int))
+-# define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE - __SIGEV_HEAD_SIZE) / sizeof (int))
++# if __WORDSIZE == 64
++# define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE / sizeof (int)) - 4)
++# else
++# define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE / sizeof (int)) - 3)
++# endif
+
+ /* Forward declaration of the `pthread_attr_t' type. */
+ struct __pthread_attr_s;
+--
+cgit v0.9.1
--
1.7.1
^ permalink raw reply related [flat|nested] 11+ messages in thread* [Buildroot] [PATCH 1/2] uclibc: add a missing function member to siginfo.h
2014-01-08 17:32 [Buildroot] [PATCH 1/2] uclibc: add a missing function member to siginfo.h Vicente Olivert Riera
2014-01-08 17:32 ` [Buildroot] [PATCH 2/2] uclibc: Make __SIGEV_PAD_SIZE to take __WORDSIZE into account Vicente Olivert Riera
@ 2014-01-09 2:40 ` Thomas Petazzoni
2014-01-09 9:46 ` Vicente Olivert Riera
2014-10-11 15:16 ` [Buildroot] [PATCH] rt-tests: enable on MIPS uClibc again Arnout Vandecappelle
2014-10-12 7:46 ` [Buildroot] [PATCH 1/2] uclibc: add a missing function member to siginfo.h Peter Korsgaard
3 siblings, 1 reply; 11+ messages in thread
From: Thomas Petazzoni @ 2014-01-09 2:40 UTC (permalink / raw)
To: buildroot
Dear Vicente Olivert Riera,
On Wed, 8 Jan 2014 17:32:43 +0000, Vicente Olivert Riera wrote:
> Applying an upstream patch to add a missing function member on ia64,
> mips and sparc arches.
>
> Upstream patch URL:
> http://git.uclibc.org/uClibc/commit/libc/sysdeps/linux?id=b4e6e61e2f7c6fb4bf59f66efaa74591a2112912
>
> Fixes:
> http://autobuild.buildroot.net/results/fa0/fa03ecc087a4b30df8b0366bb238be3d167a56d9/
>
> Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Siggh. This is again the kind of things that will make package builds
work with internal uClibc toolchain, but fail badly with external
uClibc toolchains, which are likely to not contain the gazillions of
backported uClibc patches that we carry around.
I have the feeling that this is a growing problem, and I'm not sure how
to handle it. To me, the fact that the uClibc community is completely
inactive in terms of releases is really a major issue.
A solution would be to not support any uClibc based external toolchain,
but that means we would no longer support Blackfin external toolchains
for example, which is really not desirable.
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH 1/2] uclibc: add a missing function member to siginfo.h
2014-01-09 2:40 ` [Buildroot] [PATCH 1/2] uclibc: add a missing function member to siginfo.h Thomas Petazzoni
@ 2014-01-09 9:46 ` Vicente Olivert Riera
2014-01-10 7:36 ` Thomas Petazzoni
0 siblings, 1 reply; 11+ messages in thread
From: Vicente Olivert Riera @ 2014-01-09 9:46 UTC (permalink / raw)
To: buildroot
On 01/09/2014 02:40 AM, Thomas Petazzoni wrote:
> Dear Vicente Olivert Riera,
>
> On Wed, 8 Jan 2014 17:32:43 +0000, Vicente Olivert Riera wrote:
>> Applying an upstream patch to add a missing function member on ia64,
>> mips and sparc arches.
>>
>> Upstream patch URL:
>> http://git.uclibc.org/uClibc/commit/libc/sysdeps/linux?id=b4e6e61e2f7c6fb4bf59f66efaa74591a2112912
>>
>> Fixes:
>> http://autobuild.buildroot.net/results/fa0/fa03ecc087a4b30df8b0366bb238be3d167a56d9/
>>
>> Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
>
> Siggh. This is again the kind of things that will make package builds
> work with internal uClibc toolchain, but fail badly with external
> uClibc toolchains, which are likely to not contain the gazillions of
> backported uClibc patches that we carry around.
>
> I have the feeling that this is a growing problem, and I'm not sure how
> to handle it. To me, the fact that the uClibc community is completely
> inactive in terms of releases is really a major issue.
>
> A solution would be to not support any uClibc based external toolchain,
> but that means we would no longer support Blackfin external toolchains
> for example, which is really not desirable.
>
> Best regards,
>
> Thomas
>
Yes, I understand what you mean, but what do you want to do? I mean, if
uClibc don't release new version, aren't you going to upgrade external
toolchains anymore?
I think we should fix this for the Buildroot toolchain, because is "our"
toolchain and is "our" problem. If external toolchains don't apply those
patches, then that will be their problem. They can upgrade the toolchain
packaging uClibc to a git version number, so no releases is needed. Of
course I understand that having a release is better because that means
that the state is consistent, it shouldn't fail, has been tested, etc.,
but if that's not happening, again, is not our problem.
Best regards,
--
Vincent
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH 1/2] uclibc: add a missing function member to siginfo.h
2014-01-09 9:46 ` Vicente Olivert Riera
@ 2014-01-10 7:36 ` Thomas Petazzoni
2014-01-10 10:10 ` Vicente Olivert Riera
0 siblings, 1 reply; 11+ messages in thread
From: Thomas Petazzoni @ 2014-01-10 7:36 UTC (permalink / raw)
To: buildroot
Dear Vicente Olivert Riera,
On Thu, 9 Jan 2014 09:46:13 +0000, Vicente Olivert Riera wrote:
> Yes, I understand what you mean, but what do you want to do? I mean, if
> uClibc don't release new version, aren't you going to upgrade external
> toolchains anymore?
Depends on which external toolchains we're talking about. In the
autobuilders, there are various external toolchains that are in use.
Amongst the uClibc based ones, we have:
* Toolchains built using Buildroot itself. These are not very
problematic, as I can rebuild them when a new version of Buildroot
containing useful backported uClibc patches is released. Though it'd
be great if I wasn't forced to rebuild these toolchains too often.
* Toolchains built using Crosstool-NG. Those will *not* contain the
backported uClibc patches that we have in Buildroot. There is a lot
less uClibc patch backporting activity going on in Crosstool-NG, if
any.
* Toolchains coming from vendors, such as the Analog Devices
toolchain. There's nothing we can do about them.
Therefore, having Buildroot packages relying on so many backported
uClibc patches is getting more and more problematic.
> I think we should fix this for the Buildroot toolchain, because is "our"
> toolchain and is "our" problem. If external toolchains don't apply those
> patches, then that will be their problem. They can upgrade the toolchain
> packaging uClibc to a git version number, so no releases is needed. Of
> course I understand that having a release is better because that means
> that the state is consistent, it shouldn't fail, has been tested, etc.,
> but if that's not happening, again, is not our problem.
I think this is completely the wrong way of seeing things. Buildroot's
policy is that we should deviate as little as possible from upstream.
We don't have the man-power to maintain our own set of crazy patches on
top of this or that component. Whenever someone wanted to post patches
adding features to this or that component, we've always rejected them,
and encouraged the contributor to get them merged in the upstream
component instead.
I think it should be the same with uClibc. If some package doesn't work
with an uClibc release, then we should simply exclude this package
entirely from being built with any uClibc toolchain. And if people are
not happy with that, then they should either engage with the
upstream uClibc to ensure that they do releases at reasonable
intervals, or they should realize that uClibc is a near-dead project,
and therefore that switching to another C library probably makes sense.
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH 1/2] uclibc: add a missing function member to siginfo.h
2014-01-10 7:36 ` Thomas Petazzoni
@ 2014-01-10 10:10 ` Vicente Olivert Riera
2014-01-28 21:25 ` Thomas Petazzoni
0 siblings, 1 reply; 11+ messages in thread
From: Vicente Olivert Riera @ 2014-01-10 10:10 UTC (permalink / raw)
To: buildroot
On 01/10/2014 07:36 AM, Thomas Petazzoni wrote:
> Dear Vicente Olivert Riera,
>
> On Thu, 9 Jan 2014 09:46:13 +0000, Vicente Olivert Riera wrote:
>
>> Yes, I understand what you mean, but what do you want to do? I mean, if
>> uClibc don't release new version, aren't you going to upgrade external
>> toolchains anymore?
>
> Depends on which external toolchains we're talking about. In the
> autobuilders, there are various external toolchains that are in use.
> Amongst the uClibc based ones, we have:
>
> * Toolchains built using Buildroot itself. These are not very
> problematic, as I can rebuild them when a new version of Buildroot
> containing useful backported uClibc patches is released. Though it'd
> be great if I wasn't forced to rebuild these toolchains too often.
>
> * Toolchains built using Crosstool-NG. Those will *not* contain the
> backported uClibc patches that we have in Buildroot. There is a lot
> less uClibc patch backporting activity going on in Crosstool-NG, if
> any.
>
> * Toolchains coming from vendors, such as the Analog Devices
> toolchain. There's nothing we can do about them.
>
> Therefore, having Buildroot packages relying on so many backported
> uClibc patches is getting more and more problematic.
>
>> I think we should fix this for the Buildroot toolchain, because is "our"
>> toolchain and is "our" problem. If external toolchains don't apply those
>> patches, then that will be their problem. They can upgrade the toolchain
>> packaging uClibc to a git version number, so no releases is needed. Of
>> course I understand that having a release is better because that means
>> that the state is consistent, it shouldn't fail, has been tested, etc.,
>> but if that's not happening, again, is not our problem.
>
> I think this is completely the wrong way of seeing things. Buildroot's
> policy is that we should deviate as little as possible from upstream.
> We don't have the man-power to maintain our own set of crazy patches on
> top of this or that component. Whenever someone wanted to post patches
> adding features to this or that component, we've always rejected them,
> and encouraged the contributor to get them merged in the upstream
> component instead.
>
> I think it should be the same with uClibc. If some package doesn't work
> with an uClibc release, then we should simply exclude this package
> entirely from being built with any uClibc toolchain. And if people are
> not happy with that, then they should either engage with the
> upstream uClibc to ensure that they do releases at reasonable
> intervals, or they should realize that uClibc is a near-dead project,
> and therefore that switching to another C library probably makes sense.
>
> Best regards,
>
> Thomas
>
Hello Thomas.
So I understand that your suggestion is to not apply uClibc patches in
Buildroot anymore and just disable the packages (the ones that are
failing) for the affected uClibc versions, and keep them enabled when
the uClibc daily snapshot is selected. Am I right?
Best regards,
--
Vincent
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH 1/2] uclibc: add a missing function member to siginfo.h
2014-01-10 10:10 ` Vicente Olivert Riera
@ 2014-01-28 21:25 ` Thomas Petazzoni
0 siblings, 0 replies; 11+ messages in thread
From: Thomas Petazzoni @ 2014-01-28 21:25 UTC (permalink / raw)
To: buildroot
Dear Vicente Olivert Riera,
On Fri, 10 Jan 2014 10:10:50 +0000, Vicente Olivert Riera wrote:
> So I understand that your suggestion is to not apply uClibc patches in
> Buildroot anymore and just disable the packages (the ones that are
> failing) for the affected uClibc versions, and keep them enabled when
> the uClibc daily snapshot is selected. Am I right?
This would be my preferred solution yes. This way, people would
probably realize how broken the uClibc release process is, and would
maybe be encouraged to work with upstream.
I've added this topic as a discussion item for the upcoming Buildroot
Developers meeting.
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH] rt-tests: enable on MIPS uClibc again
2014-01-08 17:32 [Buildroot] [PATCH 1/2] uclibc: add a missing function member to siginfo.h Vicente Olivert Riera
2014-01-08 17:32 ` [Buildroot] [PATCH 2/2] uclibc: Make __SIGEV_PAD_SIZE to take __WORDSIZE into account Vicente Olivert Riera
2014-01-09 2:40 ` [Buildroot] [PATCH 1/2] uclibc: add a missing function member to siginfo.h Thomas Petazzoni
@ 2014-10-11 15:16 ` Arnout Vandecappelle
2014-10-12 7:47 ` Peter Korsgaard
2014-10-12 7:46 ` [Buildroot] [PATCH 1/2] uclibc: add a missing function member to siginfo.h Peter Korsgaard
3 siblings, 1 reply; 11+ messages in thread
From: Arnout Vandecappelle @ 2014-10-11 15:16 UTC (permalink / raw)
To: buildroot
We have fixes in the internal toolchain; an external toolchain is most
likely a buildroot-built toolchain anyway, so it will also have the
fix. But we still keep a comment to warn the user for potentially-broken
external toolchains.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Cc: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
---
package/rt-tests/Config.in | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/package/rt-tests/Config.in b/package/rt-tests/Config.in
index 28a4a11..81e5d06 100644
--- a/package/rt-tests/Config.in
+++ b/package/rt-tests/Config.in
@@ -1,8 +1,6 @@
config BR2_PACKAGE_RT_TESTS
bool "rt-tests"
# no _tid field in 'struct sigevent'
- depends on !(BR2_TOOLCHAIN_USES_UCLIBC && (BR2_mips || BR2_mipsel || \
- BR2_mips64 || BR2_mips64el))
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
help
Set of utilities for testing the real-time behaviour of a
@@ -23,9 +21,10 @@ config BR2_PACKAGE_RT_TESTS
http://rt.wiki.kernel.org
-comment "rt-tests needs an (e)glibc toolchain"
- depends on BR2_TOOLCHAIN_USES_UCLIBC && (BR2_mips || BR2_mipsel || \
- BR2_mips64 || BR2_mips64el)
+comment "rt-tests may not work on MIPS with an external uClibc toolchain"
+ depends on BR2_PACKAGE_RT_TESTS
+ depends on BR2_TOOLCHAIN_EXTERNAL_UCLIBC
+ depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
comment "rt-tests needs a toolchain w/ NPTL"
depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL
--
2.1.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH 1/2] uclibc: add a missing function member to siginfo.h
2014-01-08 17:32 [Buildroot] [PATCH 1/2] uclibc: add a missing function member to siginfo.h Vicente Olivert Riera
` (2 preceding siblings ...)
2014-10-11 15:16 ` [Buildroot] [PATCH] rt-tests: enable on MIPS uClibc again Arnout Vandecappelle
@ 2014-10-12 7:46 ` Peter Korsgaard
3 siblings, 0 replies; 11+ messages in thread
From: Peter Korsgaard @ 2014-10-12 7:46 UTC (permalink / raw)
To: buildroot
>>>>> "Vicente" == Vicente Olivert Riera <Vincent.Riera@imgtec.com> writes:
> Applying an upstream patch to add a missing function member on ia64,
> mips and sparc arches.
> Upstream patch URL:
> http://git.uclibc.org/uClibc/commit/libc/sysdeps/linux?id=b4e6e61e2f7c6fb4bf59f66efaa74591a2112912
> Fixes:
> http://autobuild.buildroot.net/results/fa0/fa03ecc087a4b30df8b0366bb238be3d167a56d9/
> Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Committed after the discussion at the dev days, thanks.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2014-10-12 7:47 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-08 17:32 [Buildroot] [PATCH 1/2] uclibc: add a missing function member to siginfo.h Vicente Olivert Riera
2014-01-08 17:32 ` [Buildroot] [PATCH 2/2] uclibc: Make __SIGEV_PAD_SIZE to take __WORDSIZE into account Vicente Olivert Riera
2014-10-12 7:46 ` Peter Korsgaard
2014-01-09 2:40 ` [Buildroot] [PATCH 1/2] uclibc: add a missing function member to siginfo.h Thomas Petazzoni
2014-01-09 9:46 ` Vicente Olivert Riera
2014-01-10 7:36 ` Thomas Petazzoni
2014-01-10 10:10 ` Vicente Olivert Riera
2014-01-28 21:25 ` Thomas Petazzoni
2014-10-11 15:16 ` [Buildroot] [PATCH] rt-tests: enable on MIPS uClibc again Arnout Vandecappelle
2014-10-12 7:47 ` Peter Korsgaard
2014-10-12 7:46 ` [Buildroot] [PATCH 1/2] uclibc: add a missing function member to siginfo.h Peter Korsgaard
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox