Message ID | 20220118222425.164134-1-fontaine.fabrice@gmail.com |
---|---|
State | Accepted |
Headers | show |
Series | [1/2] package/gcc: define _REENTRANT for OpenRISC when -pthread is passed | expand |
Hello Fabrice, On Tue, 18 Jan 2022 23:24:24 +0100 Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote: > Patch added by commit eee96b0f0ad224b3e09a9b98c26d056e18f17fd5 on gcc > 9.3.0 must also be applied on gcc 10 and 11 to avoid the following build > failure on numerous packages (babeltrace2, pcsc-lite, tpm2-pkcs11, > etc.): > > configure:13774: checking whether pthreads work with -pthread > configure:13868: /home/giuliobenetti/autobuild/run/instance-0/output-1/host/bin/or1k-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -g2 -std=gnu99 -pthread -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 > conftest.c:27:26: error: #error "_REENTRANT must be defined" > 27 | # error "_REENTRANT must be defined" > | ^~~~~ > > It should be noted that external bootlins will have to be rebuilt. > > Fixes: > - http://autobuild.buildroot.org/results/cb58d4fbaeb08d188c2f8bf05ef1604789fa8766 > - http://autobuild.buildroot.org/results/7af9d4b68bd46ed260ed66ba2cc3c9c21482e741 > - http://autobuild.buildroot.org/results/6f926bec146752873f8032b593f0de1cb222ea46 > > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Wow, this patch still hasn't been accepted in upstream gcc? It's been submitted a looong time ago I believe. Thomas
On Wed, Jan 19, 2022 at 08:54:11AM +0100, Thomas Petazzoni wrote: > Hello Fabrice, > > On Tue, 18 Jan 2022 23:24:24 +0100 > Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote: > > > Patch added by commit eee96b0f0ad224b3e09a9b98c26d056e18f17fd5 on gcc > > 9.3.0 must also be applied on gcc 10 and 11 to avoid the following build > > failure on numerous packages (babeltrace2, pcsc-lite, tpm2-pkcs11, > > etc.): > > > > configure:13774: checking whether pthreads work with -pthread > > configure:13868: /home/giuliobenetti/autobuild/run/instance-0/output-1/host/bin/or1k-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -g2 -std=gnu99 -pthread -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 > > conftest.c:27:26: error: #error "_REENTRANT must be defined" > > 27 | # error "_REENTRANT must be defined" > > | ^~~~~ > > > > It should be noted that external bootlins will have to be rebuilt. > > > > Fixes: > > - http://autobuild.buildroot.org/results/cb58d4fbaeb08d188c2f8bf05ef1604789fa8766 > > - http://autobuild.buildroot.org/results/7af9d4b68bd46ed260ed66ba2cc3c9c21482e741 > > - http://autobuild.buildroot.org/results/6f926bec146752873f8032b593f0de1cb222ea46 > > > > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> > > Wow, this patch still hasn't been accepted in upstream gcc? It's been > submitted a looong time ago I believe. Hello, I must have missed this one. It looks good to me I will push it upstream. -Stafford
Hi Thomas, All, > Il giorno 19 gen 2022, alle ore 08:56, Thomas Petazzoni <thomas.petazzoni@bootlin.com> ha scritto: > > Hello Fabrice, > >> On Tue, 18 Jan 2022 23:24:24 +0100 >> Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote: >> >> Patch added by commit eee96b0f0ad224b3e09a9b98c26d056e18f17fd5 on gcc >> 9.3.0 must also be applied on gcc 10 and 11 to avoid the following build >> failure on numerous packages (babeltrace2, pcsc-lite, tpm2-pkcs11, >> etc.): >> >> configure:13774: checking whether pthreads work with -pthread >> configure:13868: /home/giuliobenetti/autobuild/run/instance-0/output-1/host/bin/or1k-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -g2 -std=gnu99 -pthread -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 >> conftest.c:27:26: error: #error "_REENTRANT must be defined" >> 27 | # error "_REENTRANT must be defined" >> | ^~~~~ >> >> It should be noted that external bootlins will have to be rebuilt. >> >> Fixes: >> - http://autobuild.buildroot.org/results/cb58d4fbaeb08d188c2f8bf05ef1604789fa8766 >> - http://autobuild.buildroot.org/results/7af9d4b68bd46ed260ed66ba2cc3c9c21482e741 >> - http://autobuild.buildroot.org/results/6f926bec146752873f8032b593f0de1cb222ea46 >> >> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> > > Wow, this patch still hasn't been accepted in upstream gcc? It's been > submitted a looong time ago I believe. That’s when the new maintainer took over the previous one. I ping him about this so he can commit it. YetAnotherOr1kBug :-) Best regards Giulio > > Thomas > -- > Thomas Petazzoni, co-owner and CEO, Bootlin > Embedded Linux and Kernel engineering and training > https://bootlin.com
Hi Stafford, > Il giorno 19 gen 2022, alle ore 09:14, Stafford Horne <shorne@gmail.com> ha scritto: > > On Wed, Jan 19, 2022 at 08:54:11AM +0100, Thomas Petazzoni wrote: >> Hello Fabrice, >> >>> On Tue, 18 Jan 2022 23:24:24 +0100 >>> Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote: >>> >>> Patch added by commit eee96b0f0ad224b3e09a9b98c26d056e18f17fd5 on gcc >>> 9.3.0 must also be applied on gcc 10 and 11 to avoid the following build >>> failure on numerous packages (babeltrace2, pcsc-lite, tpm2-pkcs11, >>> etc.): >>> >>> configure:13774: checking whether pthreads work with -pthread >>> configure:13868: /home/giuliobenetti/autobuild/run/instance-0/output-1/host/bin/or1k-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -g2 -std=gnu99 -pthread -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 >>> conftest.c:27:26: error: #error "_REENTRANT must be defined" >>> 27 | # error "_REENTRANT must be defined" >>> | ^~~~~ >>> >>> It should be noted that external bootlins will have to be rebuilt. >>> >>> Fixes: >>> - http://autobuild.buildroot.org/results/cb58d4fbaeb08d188c2f8bf05ef1604789fa8766 >>> - http://autobuild.buildroot.org/results/7af9d4b68bd46ed260ed66ba2cc3c9c21482e741 >>> - http://autobuild.buildroot.org/results/6f926bec146752873f8032b593f0de1cb222ea46 >>> >>> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> >> >> Wow, this patch still hasn't been accepted in upstream gcc? It's been >> submitted a looong time ago I believe. > > Hello, > > I must have missed this one. It looks good to me I will push it upstream. I’ve just written I would have pinged you soon and you’ve appeared:-) Better this way! Kind regards —- Giulio Benetti Benetti Engineering sas > > -Stafford > _______________________________________________ > buildroot mailing list > buildroot@buildroot.org > https://lists.buildroot.org/mailman/listinfo/buildroot
Hello, On Tue, 18 Jan 2022 23:24:24 +0100 Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote: > Patch added by commit eee96b0f0ad224b3e09a9b98c26d056e18f17fd5 on gcc > 9.3.0 must also be applied on gcc 10 and 11 to avoid the following build > failure on numerous packages (babeltrace2, pcsc-lite, tpm2-pkcs11, > etc.): > > configure:13774: checking whether pthreads work with -pthread > configure:13868: /home/giuliobenetti/autobuild/run/instance-0/output-1/host/bin/or1k-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -g2 -std=gnu99 -pthread -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 > conftest.c:27:26: error: #error "_REENTRANT must be defined" > 27 | # error "_REENTRANT must be defined" > | ^~~~~ > > It should be noted that external bootlins will have to be rebuilt. > > Fixes: > - http://autobuild.buildroot.org/results/cb58d4fbaeb08d188c2f8bf05ef1604789fa8766 > - http://autobuild.buildroot.org/results/7af9d4b68bd46ed260ed66ba2cc3c9c21482e741 > - http://autobuild.buildroot.org/results/6f926bec146752873f8032b593f0de1cb222ea46 > > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> > --- > ...TRANT-for-OpenRISC-when-pthread-is-p.patch | 31 +++++++++++++++++++ > ...TRANT-for-OpenRISC-when-pthread-is-p.patch | 31 +++++++++++++++++++ > 2 files changed, 62 insertions(+) > create mode 100644 package/gcc/10.3.0/0005-gcc-define-_REENTRANT-for-OpenRISC-when-pthread-is-p.patch > create mode 100644 package/gcc/11.2.0/0003-gcc-define-_REENTRANT-for-OpenRISC-when-pthread-is-p.patch Both patches applied. The Bootlin toolchains are being rebuilt. I'll send an update when the toolchains are ready. Best regards, Thomas Petazzoni
>>>>> "Fabrice" == Fabrice Fontaine <fontaine.fabrice@gmail.com> writes: > Patch added by commit eee96b0f0ad224b3e09a9b98c26d056e18f17fd5 on gcc > 9.3.0 must also be applied on gcc 10 and 11 to avoid the following build > failure on numerous packages (babeltrace2, pcsc-lite, tpm2-pkcs11, > etc.): > configure:13774: checking whether pthreads work with -pthread > configure:13868: /home/giuliobenetti/autobuild/run/instance-0/output-1/host/bin/or1k-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -g2 -std=gnu99 -pthread -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 > conftest.c:27:26: error: #error "_REENTRANT must be defined" > 27 | # error "_REENTRANT must be defined" > | ^~~~~ > It should be noted that external bootlins will have to be rebuilt. > Fixes: > - http://autobuild.buildroot.org/results/cb58d4fbaeb08d188c2f8bf05ef1604789fa8766 > - http://autobuild.buildroot.org/results/7af9d4b68bd46ed260ed66ba2cc3c9c21482e741 > - http://autobuild.buildroot.org/results/6f926bec146752873f8032b593f0de1cb222ea46 > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Committed to 2021.02.x and 2021.11.x, thanks.
diff --git a/package/gcc/10.3.0/0005-gcc-define-_REENTRANT-for-OpenRISC-when-pthread-is-p.patch b/package/gcc/10.3.0/0005-gcc-define-_REENTRANT-for-OpenRISC-when-pthread-is-p.patch new file mode 100644 index 0000000000..5ac03d7c0c --- /dev/null +++ b/package/gcc/10.3.0/0005-gcc-define-_REENTRANT-for-OpenRISC-when-pthread-is-p.patch @@ -0,0 +1,31 @@ +From f80e9941739fb3973b61fc6a5abddef5ad2faf73 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls <bernd.kuhls@t-online.de> +Date: Fri, 27 Mar 2020 21:23:53 +0100 +Subject: [PATCH] gcc: define _REENTRANT for OpenRISC when -pthread is passed + +The detection of pthread support fails on OpenRISC unless _REENTRANT +is defined. Added the CPP_SPEC definition to correct this. + +Patch sent upstream: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94372 + +Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> +--- + gcc/config/or1k/linux.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/gcc/config/or1k/linux.h b/gcc/config/or1k/linux.h +index cbdc781418f..36303af892c 100644 +--- a/gcc/config/or1k/linux.h ++++ b/gcc/config/or1k/linux.h +@@ -32,6 +32,8 @@ + #undef MUSL_DYNAMIC_LINKER + #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-or1k.so.1" + ++#define CPP_SPEC "%{pthread:-D_REENTRANT}" ++ + #undef LINK_SPEC + #define LINK_SPEC "%{h*} \ + %{static:-Bstatic} \ +-- +2.31.1 + diff --git a/package/gcc/11.2.0/0003-gcc-define-_REENTRANT-for-OpenRISC-when-pthread-is-p.patch b/package/gcc/11.2.0/0003-gcc-define-_REENTRANT-for-OpenRISC-when-pthread-is-p.patch new file mode 100644 index 0000000000..5ac03d7c0c --- /dev/null +++ b/package/gcc/11.2.0/0003-gcc-define-_REENTRANT-for-OpenRISC-when-pthread-is-p.patch @@ -0,0 +1,31 @@ +From f80e9941739fb3973b61fc6a5abddef5ad2faf73 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls <bernd.kuhls@t-online.de> +Date: Fri, 27 Mar 2020 21:23:53 +0100 +Subject: [PATCH] gcc: define _REENTRANT for OpenRISC when -pthread is passed + +The detection of pthread support fails on OpenRISC unless _REENTRANT +is defined. Added the CPP_SPEC definition to correct this. + +Patch sent upstream: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94372 + +Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> +--- + gcc/config/or1k/linux.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/gcc/config/or1k/linux.h b/gcc/config/or1k/linux.h +index cbdc781418f..36303af892c 100644 +--- a/gcc/config/or1k/linux.h ++++ b/gcc/config/or1k/linux.h +@@ -32,6 +32,8 @@ + #undef MUSL_DYNAMIC_LINKER + #define MUSL_DYNAMIC_LINKER "/lib/ld-musl-or1k.so.1" + ++#define CPP_SPEC "%{pthread:-D_REENTRANT}" ++ + #undef LINK_SPEC + #define LINK_SPEC "%{h*} \ + %{static:-Bstatic} \ +-- +2.31.1 +
Patch added by commit eee96b0f0ad224b3e09a9b98c26d056e18f17fd5 on gcc 9.3.0 must also be applied on gcc 10 and 11 to avoid the following build failure on numerous packages (babeltrace2, pcsc-lite, tpm2-pkcs11, etc.): configure:13774: checking whether pthreads work with -pthread configure:13868: /home/giuliobenetti/autobuild/run/instance-0/output-1/host/bin/or1k-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -g2 -std=gnu99 -pthread -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 conftest.c >&5 conftest.c:27:26: error: #error "_REENTRANT must be defined" 27 | # error "_REENTRANT must be defined" | ^~~~~ It should be noted that external bootlins will have to be rebuilt. Fixes: - http://autobuild.buildroot.org/results/cb58d4fbaeb08d188c2f8bf05ef1604789fa8766 - http://autobuild.buildroot.org/results/7af9d4b68bd46ed260ed66ba2cc3c9c21482e741 - http://autobuild.buildroot.org/results/6f926bec146752873f8032b593f0de1cb222ea46 Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> --- ...TRANT-for-OpenRISC-when-pthread-is-p.patch | 31 +++++++++++++++++++ ...TRANT-for-OpenRISC-when-pthread-is-p.patch | 31 +++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 package/gcc/10.3.0/0005-gcc-define-_REENTRANT-for-OpenRISC-when-pthread-is-p.patch create mode 100644 package/gcc/11.2.0/0003-gcc-define-_REENTRANT-for-OpenRISC-when-pthread-is-p.patch