toolchain: Add glibc support for ARCv2
PATCH v2 1/1 toolchain: Add glibc support for ARCv2
Finally there's working ARC port of glibc thanks to Vineet and Cuper! This port is based on pretty recent glibc's master branch and ARC changes are being reviewed now in glibc's mailing list.
Thus we again have to use sources from our GitHub but as soon as there's a glibc release with our patches applied we'll switch to upstream releases and will drop our glibc GitHub repo alltogether.
Note now we cut tags in glibc repo simultaneously with tags
in Binutils and GCC repos and so to make sure everything works in the best way we plan to update glibc tag together with Binutils and GCC.
Also note as of today ARCompact (AKA ARCv1 ISA) is not supported in glibc but we plan to fix it soonish so for now we make glibc intentionally dependent on archs38.
Also note we are not creating directory "2.26" because all patches for glibc ver 2.26 applies to arc glibc port.
--- package/glibc/glibc.hash | 3 +++ package/glibc/glibc.mk | 8 +++++++- toolchain/toolchain-buildroot/Config.in | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-)
package/glibc/glibc.hash +3 -0
@@ -1,2 +1,5 @@ # Locally calculated after checking pgp signature (glibc) sha256 e54e0a934cd2bc94429be79da5e9385898d2306b9eaf3c92d5a77af96190f6bd glibc-2.26.tar.xz +# Locally calculated (fetched from Github) +sha256 adf2dd19a76705a6fb748492eba30cb0be621422190116382a891a3cf099e895 glibc-arc-2017.09-eng010.tar.gz +
package/glibc/glibc.mk +7 -1
@@ -3,10 +3,16 @@ # glibc # ################################################################################ - +ifeq ($(BR2_arc),y) +GLIBC_VERSION = arc-2017.09-eng010 +GLIBC_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,glibc,$(GLIBC_VERSION)) +GLIBC_SOURCE = glibc-$(GLIBC_VERSION).tar.gz +else GLIBC_VERSION = 2.26 GLIBC_SITE = $(BR2_GNU_MIRROR)/libc GLIBC_SOURCE = glibc-$(GLIBC_VERSION).tar.xz +endif + GLIBC_SRC_SUBDIR = . GLIBC_LICENSE = GPL-2.0+ (programs), LGPL-2.1+, BSD-3-Clause, MIT (library)
toolchain/toolchain-buildroot/Config.in +1 -1
@@ -47,7 +47,7 @@ config BR2_TOOLCHAIN_BUILDROOT_GLIBC BR2_mipsel || BR2_mips64 || BR2_mips64el|| \ BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \ BR2_sh || BR2_sparc64 || BR2_x86_64 || \ - BR2_microblaze || BR2_nios2 + BR2_microblaze || BR2_nios2 || BR2_archs38 depends on BR2_USE_MMU depends on !BR2_STATIC_LIBS depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
Signature · 1 line
2.11.0
PATCH v2 1/1 toolchain: Add glibc support for ARCv2
Adding Arnout as he reviewed v1 earlier.
-Alexey
Quoted 79 lines · Evgeniy Didin
Finally there's working ARC port of glibc thanks to Vineet and Cuper! This port is based on pretty recent glibc's master branch and ARC changes are being reviewed now in glibc's mailing list.
Thus we again have to use sources from our GitHub but as soon as there's a glibc release with our patches applied we'll switch to upstream releases and will drop our glibc GitHub repo alltogether.
Note now we cut tags in glibc repo simultaneously with tags
in Binutils and GCC repos and so to make sure everything works in the best way we plan to update glibc tag together with Binutils and GCC.Also note as of today ARCompact (AKA ARCv1 ISA) is not supported in glibc but we plan to fix it soonish so for now we make glibc intentionally dependent on archs38.
Also note we are not creating directory "2.26" because all patches for glibc ver 2.26 applies to arc glibc port.
Signed-off-by Evgeniy Didin <[email protected]>CC Alexey Brodkin <[email protected]>CC Thomas Petazzoni <[email protected]>CC Waldemar Brodkorb <[email protected]>CC Romain Naour <[email protected]>Cc Cupertino Miranda <[email protected]>Cc Vineet Gupta <[email protected]>Cc Anton Kolesov <[email protected]>---
?package/glibc/glibc.hash????????????????| 3 +++ ?package/glibc/glibc.mk??????????????????| 8 +++++++- ?toolchain/toolchain-buildroot/Config.in | 2 +-?3 files changed, 11 insertions(+), 2 deletions(-)
package/glibc/glibc.hash +0
-0@@ -1,2 +1,5 @@ ?# Locally calculated after checking pgp signature (glibc)?sha256
e54e0a934cd2bc94429be79da5e9385898d2306b9eaf3c92d5a77af96190f6bdglibc-2.26.tar.xzpackage/glibc/glibc.hash +3
-0+# Locally calculated (fetched from Github) +sha256??adf2dd19a76705a6fb748492eba30cb0be621422190116382a891a3cf099e895?????glibc-arc-2017.09-eng010.tar.gz +package/glibc/glibc.mk +0
-0@@ -3,10 +3,16 @@?# glibc
?# ?################################################################################package/glibc/glibc.mk +5
-1- +ifeq ($(BR2_arc),y) +GLIBC_VERSION =??arc-2017.09-eng010 +GLIBC_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,glibc,$(GLIBC_VERSION)) +GLIBC_SOURCE = glibc-$(GLIBC_VERSION).tar.gz +else?GLIBC_VERSION = 2.26
?GLIBC_SITE = $(BR2_GNU_MIRROR)/libc
?GLIBC_SOURCE = glibc-$(GLIBC_VERSION).tar.xzpackage/glibc/glibc.mk +2
-0+endif +?GLIBC_SRC_SUBDIR = .
?
?GLIBC_LICENSE = GPL-2.0+ (programs), LGPL-2.1+, BSD-3-Clause, MIT (library)toolchain/toolchain-buildroot/Config.in +1
-1@@ -47,7 +47,7 @@ config BR2_TOOLCHAIN_BUILDROOT_GLIBC ? ???BR2_mipsel??????|| BR2_mips64?????|| BR2_mips64el|| \ ? ???BR2_powerpc?????|| BR2_powerpc64??|| BR2_powerpc64le || \ ? ???BR2_sh??????????|| BR2_sparc64????|| BR2_x86_64 || \ - ???BR2_microblaze || BR2_nios2 + ???BR2_microblaze??|| BR2_nios2??????|| BR2_archs38? depends on
BR2_USE_MMU
? depends on !BR2_STATIC_LIBS
? depends onBR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
PATCH v2 1/1 toolchain: Add glibc support for ARCv2
In reply to Evgeniy DidinHello,
Thanks, I've applied to master. One comment below.
Quoted 12 lines · Evgeniy Didin
Finally there's working ARC port of glibc thanks to Vineet and Cuper! This port is based on pretty recent glibc's master branch and ARC changes are being reviewed now in glibc's mailing list.
Thus we again have to use sources from our GitHub but as soon as there's a glibc release with our patches applied we'll switch to upstream releases and will drop our glibc GitHub repo alltogether.
Note now we cut tags in glibc repo simultaneously with tags
in Binutils and GCC repos and so to make sure everything works in the best way we plan to update glibc tag together with Binutils and GCC.
Quoted 6 lines
Also note as of today ARCompact (AKA ARCv1 ISA) is not supported in glibc but we plan to fix it soonish so for now we make glibc intentionally dependent on archs38.
Also note we are not creating directory "2.26" because all patches for glibc ver 2.26 applies to arc glibc port.
This last thing will probably cause problems in the future: when we will add new glibc patches, they may not work with the ARC version of glibc, or when we bump to glibc 2.26.1, the ARC version of glibc will probably not be rebased at exactly the same time.
So I've left it as-is for now, but I'm pretty sure we'll have to switch to per-version directories very soon.
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
PATCH v2 1/1 toolchain: Add glibc support for ARCv2
Quoted 1 line · Thomas Petazzoni
when we bump to glibc 2.26.1
Is there any hope of that? I thought the glibc maintainers had made it clear
that there wouldn't be point releases?
Regards,
Arnout
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
PATCH v2 1/1 toolchain: Add glibc support for ARCv2
Hello,
Quoted 4 lines · Arnout Vandecappelle
Quoted 1 line
when we bump to glibc 2.26.1
Is there any hope of that? I thought the glibc maintainers had made it clear
that there wouldn't be point releases?
Yes, there has been a lot of discussion, pushed by Romain and Yann, and with the support from people of other distros, and apparently, the glibc maintainers have understood the need for dot releases with fixes.
That being said, my point stands: when we bump to 2.27, not sure the ARC folks will have bumped at exactly the same time.
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
PATCH v2 1/1 toolchain: Add glibc support for ARCv2
In reply to Thomas PetazzoniHi Thomas,
Quoted 9 lines
-----Original Message-----
From: Thomas Petazzoni [mailto:thomas.petazzoni at free-electrons.com]
Sent: Wednesday, October 11, 2017 12:18 AM
To: Evgeniy Didin <[email protected]>
Cc: buildroot at busybox.net; Cupertino Miranda <[email protected]>; Vineet Gupta <[email protected]>; Alexey Brodkin <[email protected]>; Anton Kolesov <[email protected]>; Romain Naour <[email protected]>
Subject: Re: [Buildroot] [PATCHv2] toolchain: Add glibc support for ARCv2
Quoted 3 lines
Hello,
Thanks, I've applied to master. One comment below.
Cool, thanks!
Do you want me to submit something like web/toolchains/configs/br-arc-full-internal-glibc.config or you're going to do it yourself?
Quoted 20 lines · Evgeniy Didin
Quoted 12 lines
Finally there's working ARC port of glibc thanks to Vineet and Cuper! This port is based on pretty recent glibc's master branch and ARC changes are being reviewed now in glibc's mailing list.
Thus we again have to use sources from our GitHub but as soon as there's a glibc release with our patches applied we'll switch to upstream releases and will drop our glibc GitHub repo alltogether.
Note now we cut tags in glibc repo simultaneously with tags
in Binutils and GCC repos and so to make sure everything works in the best way we plan to update glibc tag together with Binutils and GCC.Quoted 6 lines
Also note as of today ARCompact (AKA ARCv1 ISA) is not supported in glibc but we plan to fix it soonish so for now we make glibc intentionally dependent on archs38.
Also note we are not creating directory "2.26" because all patches for glibc ver 2.26 applies to arc glibc port.
Quoted 7 lines
This last thing will probably cause problems in the future: when we will add new glibc patches, they may not work with the ARC version of glibc, or when we bump to glibc 2.26.1, the ARC version of glibc will probably not be rebased at exactly the same time.
So I've left it as-is for now, but I'm pretty sure we'll have to switch to per-version directories very soon.
That's understood and initially we planned to have a separate folder. But:
1) [Especially now] it makes no sense to have 2 folders with the same patches
2) We're going to update our glibc version to rc2 and final release in coming weeks and with the folder in place bump patches will be much bigger for nothing
3) There's a chance newer patches will just apply smoothly which might benefit ARC toolchain (if the patch in question fixes generic stuff).
4) In the worst case we'll create folders :)
-Alexey