summaryrefslogtreecommitdiff
path: root/config/libc
AgeCommit message (Collapse)AuthorFilesLines
2022-02-23bionic: mark bionic/android-ndk as obsoleteChris Packham1-0/+1
Support for bionic was dropped by GCC some time ago. There are patches for older GCC versions but those are difficult to maintain and the version of the android-ndk they support is of little use. Mark all of the existing bionic support as obsolete so it can be removed after the next release. Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-02-11Unify core passesAlexey Neyman6-6/+6
With libc_headers step before pass-1, there is no need to distinguish pass-1 and pass-2; they are configured identically (note that with the current configuration, core pass-2 is only used for win32 - hence, uses build_libgcc=yes and mode=static). Signed-off-by: Alexey Neyman <stilor@att.net>
2022-02-11Restrict bionic's GCC/GDB selectionsAlexey Neyman1-1/+10
Refer to the comments in the code for the reason. Signed-off-by: Alexey Neyman <stilor@att.net>
2022-02-11Retire obsoleted milestonesAlexey Neyman4-94/+4
... and the code dependent on them, after the latest wave of obsolete package removals. This concludes the glorious history of the original uClibc (non-NG) with lots of kludges removed. There was a choice here, whether to call the resulting libc "uClibc" or "uClibc-ng". I opted in favor of giving uClibc-ng the recognition it deserves, although it had some ripple effect in the ct-ng code. Signed-off-by: Alexey Neyman <stilor@att.net>
2022-01-12glibc: Re-enable WerrorChris Packham1-3/+0
Now that we have a 2-pass build it is no longer necessary to disable -Werror in glibc. This partially reverts commits 6ca5f91f ("Disable -Werror for GLIBC for all ARCH for GCC11."), 215432d3 ("config/libc: Extend glibc 2.32 workaround to include sparc") and 645ee124 ("glibc: Don't build with -Werror for powerpc64+glibc-2.32"). Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-01-12gcc: Build static libgcc in core_pass1Chris Packham5-7/+5
Per https://github.com/crosstool-ng/crosstool-ng/issues/808 build static libgcc in the first pass which lets us skip the second one. Building mingw-w64 requires header files in order to build C++ support so mingw builds core pass 2. This could probably be cleaned up by splitting libc_start_files into a separate libc_header step. But for now having core 2 for mingw-w64 and core 1 for the other libcs will have to do. Anything that previously selected CC_CORE_PASSES_NEEDED now selects CC_CORE_PASS_1_NEEDED. The same goes for CC_CORE_PASS_2_NEEDED with the exception of mingw-w64. Fixes #808 Fixes #217 Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-11-30glibc: Add comment about python 3.4 dependencyChris Packham1-0/+3
Add a comment that is visible when the python3.4 prerequisite is not met so that users can tell why they can't select a newer glibc version. Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-06-24Add fcommon flag help and remove extra empty linesNik Konyuchenko1-1/+3
Signed-off-by: Nik Konyuchenko <spaun2002mobile@gmail.com>
2021-06-24Fix build of older Glibc using GCC >=10Nik Konyuchenko1-0/+7
Issue #1535 GCC 10 changed the default to -fno-common, which leads to a linking error in GLibc older than 2.30. This change adds -fcommon cflag for the target GLibc versions <=2.29 and GCC >=10. This change also adds additional cflags for the target GLibc to disable new GCC11 checks that lead to compilation errors. Signed-off-by: Nik Konyuchenko <spaun2002mobile@gmail.com>
2021-05-11glibc: --enable-obsolete-rpc has been removed as of 2.32Chris Packham1-1/+1
Make --enable-obsolete-rpc conditional on !GLIBC_2_32_or_later as it's been removed from that version on. Fixes: #1505 Fixes: commit 1ee44ab5 ("glibc: --enable-obsolete-rpc has been removed as of 2.32") Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-05-05Disable -Werror for GLIBC for all ARCH for GCC11.spaun20021-2/+3
This change replicates what GLIBC 2.23 has in the string/rawmemchr.c: // #if __GNUC_PREREQ (11, 0) // /* Likewise GCC 11, with a different warning option. */ // DIAG_IGNORE_NEEDS_COMMENT (11, "-Wstringop-overread"); // #endif With -Werror multiple platforms failing on the string/rawmemchr.c:40 line. Signed-off-by: Nik Konyuchenko <spaun2002mobile@gmail.com>
2021-01-09picolibc: Convert to companion libraryKeith Packard1-124/+0
This allows configurations to include picolibc without excluding another C library. Signed-off-by: Keith Packard <keithp@keithp.com>
2020-11-23Add Oracle products to crosstool-ngJose E. Marchesi1-0/+2
This commit adds support for the following Oracle products, in order to target Oracle Linux 7.9: Binutils 2.27-44.base.0.400 GCC 4.8.5-44.0.5 glibc 2.17-317.0.3 UEK5/u4 4.14.35-2025.400.8 Sample configuration files are provides for the following triplets: arm-ol7u9-linux-gnueabi arm-ol7u9-linux-gnueabihf Signed-off-by: Egeyar Bagcioglu <egeyar.bagcioglu@oracle.com> Signed-off-by: Jose E. Marchesi <jose.marchesi@oracle.com>
2020-09-14config/libc: Extend glibc 2.32 workaround to include sparcChris Packham1-0/+1
Sparc seems to be affected by the same issues as powerpc64. Disable glibc warnings for sparc. Signed-off-by: Chris Packham <judge.packham@gmail.com>
2020-09-07glibc: --enable-obsolete-rpc has been removed as of 2.32Chris Packham1-1/+2
Make --enable-obsolete-rpc conditional on !CT_GLIBC_2_32_or_later as it's been removed from that version on. Signed-off-by: Chris Packham <judge.packham@gmail.com>
2020-09-06Merge branch 'picolibc' of git://github.com/keith-packard/crosstool-ng into ↵Chris Packham1-0/+124
keith-packard-picolibc
2020-09-03glibc: Don't build with -Werror for powerpc64+glibc-2.32Chris Packham1-0/+1
When building powerpc64+glibc-2.32 we see the following error: [ALL ] In file included from ../sysdeps/powerpc/powerpc32/power4/multiarch/wordcopy-ppc32.c:26, [ALL ] from ../sysdeps/powerpc/powerpc64/multiarch/wordcopy-ppc64.c:18: [ALL ] ../string/wordcopy.c: In function '_wordcopy_fwd_aligned': [ERROR] ../string/wordcopy.c:98:26: error: 'a1' may be used uninitialized in this function [-Werror=maybe-uninitialized] [ALL ] 98 | ((op_t *) dstp)[0] = a1; [ALL ] | ~~~~~~~~~~~~~~~~~~~^~~~ [ALL ] In file included from ../sysdeps/powerpc/powerpc64/power4/../../powerpc32/power4/memcopy.h:38, [ALL ] from ../sysdeps/powerpc/powerpc64/power4/memcopy.h:1, [ALL ] from ../string/wordcopy.c:23, [ALL ] from ../sysdeps/powerpc/powerpc32/power4/multiarch/wordcopy-ppc32.c:26, [ALL ] from ../sysdeps/powerpc/powerpc64/multiarch/wordcopy-ppc64.c:18: [ALL ] ../string/wordcopy.c: In function '_wordcopy_fwd_dest_aligned': [ERROR] ../sysdeps/generic/memcopy.h:72:61: error: 'a3' may be used uninitialized in this function [-Werror=maybe-uninitialized] [ALL ] 72 | #define MERGE(w0, sh_1, w1, sh_2) (((w0) << (sh_1)) | ((w1) >> (sh_2))) [ALL ] | ^~ This seems to only trigger for powerpc64. Other architectures build cleanly. For now avoid specifying -Werror for powerpc64+glibc-2.32. Signed-off-by: Chris Packham <judge.packham@gmail.com>
2020-09-01Add picolibc support [v2]Keith Packard1-0/+124
This adds support for using picolibc instead of newlib on embedded systems. Signed-off-by: Keith Packard <keithp@keithp.com> v2: Add check for meson and ninja Sync option default values with current picolibc defaults Remove xtensa sys header file install as those aren't in picolibc
2020-03-04Add --with-cpu= on 32-bit SPARCAlexey Neyman1-2/+6
... if building for GLIBC 2.31+. Signed-off-by: Alexey Neyman <stilor@att.net>
2019-12-20Add newlib retargetable locking configurationStephanos Ioannidis1-0/+7
This commit adds support for the newlib configuration option '--enable-newlib-retargetable-locking'. Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2019-10-02Merge pull request #1231 from cpackham/glibc-2.28-make-4.0Alexey Neyman1-1/+1
libc: glibc 2.28 needs make 4.0
2019-09-04Add glibc 2.30Chris Packham1-0/+2
Add the GNU C Library version 2.30. Bring forward the typedef-caddr.patch. Skip the ARC patch for now. https://sourceware.org/ml/libc-alpha/2019-08/msg00029.html Signed-off-by: Chris Packham <judge.packham@gmail.com>
2019-09-04libc: glibc 2.28 needs make 4.0Chris Packham1-1/+1
Fixes: #1210 Per the release notes for the GNU C library 2.28[1] make 4.0 or newer is required. Previously the logic was applied to glibc 2.29 or newer. [1] - https://www.sourceware.org/ml/libc-alpha/2018-08/msg00003.html Signed-off-by: Chris Packham <judge.packham@gmail.com>
2019-04-05uClibc: fix selection of debug levelKonstantin Vasin1-0/+1
2019-03-04Meet our new companion tool, bisonAlexey Neyman1-0/+14
Which is here courtesy of CentOS6, which only has bison 2.4 - while new glibc requires 2.7. Signed-off-by: Alexey Neyman <stilor@att.net>
2019-03-02Fix build of glibc 2.29 on systems with obsolete host programsAlexey Neyman1-2/+15
- Force building make as a companion tool if host make is older than 4.0 (CentOS 7 currently has 3.82) - Disable 2.29 as a choice if host python is older than 3.4 (CentOS 7 has 2.6 unless python from EPEL is installed) - Python2 emits its version information to STDERR. Ugh. While there, also use the detected host Python for GDB configuration. Signed-off-by: Alexey Neyman <stilor@att.net>
2018-12-21Add new Android API levelsAndrzej Perczak1-0/+15
2018-12-10Allow short "moxiebox" aliasAlexey Neyman1-0/+10
... while making use of the new tunables. Also, unmark the moxie-elf as broken: the ld scripts installed by newlib can be found by the compiler and can link the binaries. Why the default script is broken is not ct-ng's problem... Signed-off-by: Alexey Neyman <stilor@att.net>
2018-12-10Add config flags for omitting 'arch' and 'vendor'Alexey Neyman1-0/+4
... parts of the config tuple. While here, remove parts that are setting portions of the target tuple to a value that's already the default. Signed-off-by: Alexey Neyman <stilor@att.net>
2018-12-07Moxiebox requires target to be LEAlexey Neyman1-0/+1
Signed-off-by: Alexey Neyman <stilor@att.net>
2018-12-07Disable -fstack-protector* from being used by glibcAlexey Neyman1-1/+7
... until it was fixed (to some extent) in 2.25. Signed-off-by: Alexey Neyman <stilor@att.net>
2018-12-05Require ld to be default when building mingw-w64Alexey Neyman1-0/+1
Fixes #674. Signed-off-by: Alexey Neyman <stilor@att.net>
2018-12-05Add configuration options for enabling SSPAlexey Neyman2-0/+56
... in uClibc and glibc. Fixes #681. While here, relocate additional "sources" for uClibc/binutils into packages/ directory. Signed-off-by: Alexey Neyman <stilor@att.net>
2018-12-01Add moxiebox as a choice for libcAlexey Neyman2-1/+17
This required some rework of the libc selection, as moxiebox is a layer on top of another libc - newlib. Also, moxiebox'es host VM (`sandbox`) needs a libcrypto on the host. We will not have it if we're cross-compiling a canadian cross. Fortunately, all moxiebox needs from libcrypto is SHA256, and it already includes a standalone implementation of SHA256 in its runtime. Provide a little wrapper that allows moxiebox use that implementation for the host binary, too. Also, automate collecting/printing the list of all packages in a given category (e.g. LIBC or COMP_TOOLS), generate a list of all Kconfig symbols for a given category. Signed-off-by: Alexey Neyman <stilor@att.net>
2018-05-15Too many fixes need backporting for GCC8...Alexey Neyman1-6/+12
... so instead, disable -Werror for older versions of glibc. Signed-off-by: Alexey Neyman <stilor@att.net>
2018-05-12First batch of fixesAlexey Neyman1-0/+6
- Incompatible function type for ifunc alias - Multiple statements macro expansion in strftime - if_nametoindex size checking Signed-off-by: Alexey Neyman <stilor@att.net>
2018-02-10Make libiconv an option in the menu configAlexey Neyman1-0/+11
Signed-off-by: Alexey Neyman <stilor@att.net>
2018-02-10uClibc-ng retired RPC support as of 1.0.23Alexey Neyman1-0/+5
... make the corresponding option conditional. Signed-off-by: Alexey Neyman <stilor@att.net>
2018-01-30More fixes after the upgrades:Alexey Neyman1-0/+5
- GLIBC requires a fix to work with binutils 2.30 on aarch64. This fix relies on binutils 2.24 or newer, which is okay for glibc 2.26 since it needs 2.25 or newer anyway. But older glibc versions are now pinned to binutils 2.29 or older on aarch64. - xtensa needs patches in libgcc with gcc 7.3. - comment in newlib's patch to indicate it is a reversal of a commit. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-11-30Make comp.libs use generated templates, tooAlexey Neyman8-13/+3
This allows us to include the component-to-package relation in the generated kconfig files and make use of that information in the show-config.sh script. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-08-28Apply ucontext patch to mainstream GCC releasesAlexey Neyman2-1/+9
Not applicable to 4.8, as GLIBC2.26 requires 4.9 or newer. Record that dependency. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-08-26Make --enable-obsolete-rpc an option in ct-ngAlexey Neyman1-0/+16
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-08-16Record glibc 2.24+ dependencyAlexey Neyman1-0/+5
... on kernel headers of 3.2 and newer. Fixes #794. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-08-16Fix version check in mingw-w64Alexey Neyman1-0/+4
Fixes #782. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-08Also upgrade non-generated config filesAlexey Neyman4-11/+11
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-08Switch gen-kconfig to new frameworkAlexey Neyman10-626/+615
Also: - Move companion_* to comp_* to match the kconfig symbols - Replace bootstrap with former gen-versions.sh - Fold *.in.2 into their respective first parts; this moves common options to the end - if it is undesirable, inclusion of *.in can be moved where *.in.2 used to be (but that will also move version selection after common options). - Retire addToolVersion.sh (may later replace with a more comprehensive script that tries to download the added tarballs, copy the patches and try to apply them, and create a version.desc). Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-08Remove support for pregenerated locales in uClibcAlexey Neyman1-17/+0
It fails to compile with the only locale version available (030818) (on master too, with exactly the same error). uClibc-ng does not use pregenerated locales. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-08uClibc locale "package"Alexey Neyman1-0/+4
Does not build, though. Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-08Fixes for buildingAlexey Neyman2-2/+2
- Need GDB8.0 milestone - Make uClibc "master" package - Rename bionic -> android-ndk to match the package name and support suffixes for archives Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-08Fix the references to old config variablesAlexey Neyman5-58/+85
Signed-off-by: Alexey Neyman <stilor@att.net>