aboutsummaryrefslogtreecommitdiff
path: root/scripts/build/libc
Commit message (Collapse)AuthorAgeFilesLines
* Cleanup old avr-libstdcxx code and make it usable on other targetsQBos072024-12-231-2/+2
| | | | | | | | | | Should not cause major unwanted behavior changes - C++ is now selected by default in many configs. Signed-off-by: QBos07 <qubos@outlook.de> [cp: depend on CC_LANG_CXX instead of select] Signed-off-by: Chris Packham <judge.packham@gmail.com>
* Disable implicit-function-declaration error for newlibNik Konyuchenko2024-05-181-0/+3
| | | | | | | | | GCC14 will treat implicit-function-declaration as an error by default. See https://gcc.gnu.org/gcc-14/porting_to.html for details. Some libc function like __trap34 are defined in assembly and break this GCC diagnostic. Signed-off-by: Nik Konyuchenko <spaun2002mobile@gmail.com>
* mingw-w64: enable wildcardMateusz Mikuła2024-04-241-0/+1
| | | | | | Wildcard is an opt-in (disabled by the default) feature that is used by many GNU tools like Binutils. Signed-off-by: Mateusz Mikuła <mati865@gmail.com>
* glibc: fix the broken build for glibc 2.19 with gcc 13.Hao Li2024-03-011-2/+2
| | | | | | macos silicon SDK does not contain stat64 (and other LFS extension), and glibc 2.19 makes use of it. Signed-off-by: Hao Li <hayatelee@gmail.com>
* Add a musl variable LIBC_MUSC_EXTRA_CFLAGSNorbert Lange2023-09-241-2/+5
| | | | Signed-off-by: Norbert Lange <nolange79@gmail.com>
* glibc: Add option for building libcryptChris Packham2023-08-251-0/+4
| | | | | | | As of glibc-2.38 libcrypt is not built by default. Add an option to allow building libcrypt support into glibc. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* Add option to re-enable ˋlibstdc++ˋ on avr targets.Quentin Boswank2023-08-141-18/+50
| | | | | | | | | | | Due to the small flash space on AVR devices the library containing the standard types in C++ (ˋlibstdc++ˋ) does not get built normally when enabling the C++ language support. This option is an easy way to go back to the PC-way where ˋlibstdc++ˋ is built. Signed-off-by: Quentin Boswank <qubos@outlook.de>
* Add default msvcrt options for mingw-w64Timo Rothenpieler2023-06-041-1/+19
| | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* picolibc: Add configuration to select picolibc as the system libcJoakim Nohlgård2023-03-081-0/+29
| | | | | | | This moves the picolibc configuration values under C-library -> picolibc so that they will be more easily discovered. Signed-off-by: Joakim Nohlgård <joakim@nohlgard.se>
* glibc: configure adding debug symbols in glibc buildGuillermo E. Martinez2022-06-211-1/+5
| | | | | | | | | | After building the cross toolchain and compile a simple C program, objdump reports debug information even though -g modifier was not used. These debug segments are in glibc library and CRT files. So a new config entry: CT_GLIBC_ENABLE_DEBUG was added to control when we want to add debug information to glibc, by default is enabled. Signed-off-by: Guillermo E. Martinez <guillermo.e.martinez@oracle.com>
* glibc: Reinstate support for the bundled portsChris Packham2022-05-181-0/+3
| | | | | | | | | | | Commit 6d5227b6 ("Remove obsolete glibc 2.12.1") removed supports for the separate glibc-ports but also removed GLIBC_USE_PORTS_ADDON. Glibc versions up to 2.20 bundled support from some architectures in the ports directory so GLIBC_USE_PORTS_ADDON is required to support these older glibc versions. Fixes #1736 Signed-off-by: Chris Packham <judge.packham@gmail.com>
* Remove obsolete glibc 2.12.1Chris Packham2022-05-101-17/+0
| | | | | | | | | glibc 2.12.1 was marked as obsolete. Now that the 1.25.0 release is out this version can be removed completely. As glibc 2.12.1 was the last remaining version supported by glibc-ports support for glibc-ports is also removed. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* Remove obsolete bionic/android supportChris Packham2022-05-101-34/+0
| | | | | | | | The bionic libc support was out of date and relied on downloading binaries from the internet. It was already marked as obsolete. Now that the 1.25.0 release is out it can be completely removed. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* Unify core passesAlexey Neyman2022-02-111-1/+1
| | | | | | | | | 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>
* Fold libc_start_files into libcAlexey Neyman2022-02-117-335/+79
| | | | | | | | | | | | | | | | | | | | | | After 557b9d4, libc_start_files and libc_main steps are performed one after another. It doesn't make sense, especially since some of the libcs (glibc, uClibc-ng) go to great lengths to first install start files in the first step, libc_start_files, only to remove them immediately in the second step, libc_main. Current build steps also break in the xtensa newlib configurations, as it needs to install the custom xtensa headers before building the libgcc and after 557b9d4, the headers are not installed before libgcc is built in pass-1. Therefore, finish what 557b9d4 mentioned but did not do: move header installation into a new step, libc_headers, and combine libc_start_files and libc_main into a single step. This also allows to combine the core pass-1/pass-2 steps, to be done in a subsequent commit. Signed-off-by: Alexey Neyman <stilor@att.net>
* Retire obsoleted milestonesAlexey Neyman2022-02-112-41/+23
| | | | | | | | | | | | ... 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>
* Fix build of older Glibc using GCC >=10Nik Konyuchenko2021-06-241-0/+4
| | | | | | | | | | | | | 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>
* picolibc: Convert to companion libraryKeith Packard2021-01-081-111/+0
| | | | | | | This allows configurations to include picolibc without excluding another C library. Signed-off-by: Keith Packard <keithp@keithp.com>
* Don't remove XLOCALE support unconditionally.lancethepants2020-10-151-1/+0
| | | | Signed-off-by: Lance Fredrickson <lancethepants@gmail.com>
* glibc: set glibc build system default_cflags emptyHans-Christian Noren Egtvedt2020-10-051-0/+2
| | | | | | | | | | By setting glibc build system default_cflags to be empty before building, we will enforce the build system to only use the crosstool-ng CFLAGS when building glibc. Properly solves the issue identified in #1396. Signed-off-by: Hans-Christian Noren Egtvedt <hegtvedt@cisco.com>
* picolibc: Use target architecture to drive picolibc configurationKeith Packard2020-09-161-5/+5
| | | | | | This selects code matching the target architecture within picolibc. Signed-off-by: Keith Packard <keithp@keithp.com>
* Add picolibc support [v2]Keith Packard2020-09-011-0/+111
| | | | | | | | | | | | 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
* Merge pull request #1270 from nolange/prevent_glibc_cflags_overrideAlexey Neyman2020-02-161-1/+4
|\ | | | | prevent the glibc build from overwriting flags
| * prevent the glibc build from overwriting flagsNorbert Lange2019-10-271-1/+4
| | | | | | | | | | | | | | | | | | The glibc will append the content of the CFLAGS variable, overriding previous flags. If unset, the CFLAGS variable is not empty, so explicitly set it. Instead prepend the default CFLAGS flags. Signed-off-by: Norbert Lange <nolange79@gmail.com>
* | Merge pull request #1274 from maxmorozov/masterAlexey Neyman2020-01-211-1/+3
|\ \ | | | | | | CT_LIBC_NEWLIB_REGISTER_FINI is processed correctly
| * | CT_LIBC_NEWLIB_FSEEK_OPTIMIZATION and CT_LIBC_NEWLIB_FVWRITE_IN_STREAMIO are ↵Morozov Max2019-11-041-0/+2
| | | | | | | | | | | | took into account now
| * | CT_LIBC_NEWLIB_REGISTER_FINI is processed correctlyMorozov Max2019-11-041-1/+1
| |/
* | Merge pull request #1280 from dimkr/musl-cflagsAlexey Neyman2019-12-231-1/+2
|\ \ | | | | | | Resepct CT_TARGET_{C,LD}FLAGS when building musl
| * | Resepct CT_TARGET_{C,LD}FLAGS when building muslDima Krasner2019-12-041-1/+2
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I was trying to build static binaries for a range of Broadcom soft-float ARMv7 SoCs and kept getting SIGILL, although I was targeting Cortex A7 (and A5, later), even on A9 and A15. I found out that once I add -msoft-float, +mp+sec is to blame: Attribute Section: aeabi File Attributes - Tag_CPU_name: "7VE" + Tag_CPU_name: "7" Tag_CPU_arch: v7 - Tag_CPU_arch_profile: Application - Tag_ARM_ISA_use: Yes Tag_THUMB_ISA_use: Thumb-2 Tag_ABI_PCS_wchar_t: 4 Tag_ABI_FP_rounding: Needed @@ -12,8 +10,5 @@ File Attributes Tag_ABI_FP_number_model: IEEE 754 Tag_ABI_align_needed: 8-byte Tag_ABI_enum_size: int Tag_ABI_optimization_goals: Aggressive Size Tag_CPU_unaligned_access: v6 - Tag_MPextension_use: Allowed - Tag_DIV_use: Allowed in v7-A with integer division extension - Tag_Virtualization_use: TrustZone and Virtualization Extensions (This is the readelf -A diff, before and after armv7-a+nofp -> armv7+nofp). I kept getting SIGILL even after building my application with a toolchain built with the correct CFLAGS and found out that crosstool-ng doesn't pass the host CFLAGS when building musl, which pollutes my binary with these ARMv7 extensions. Signed-off-by: Dima Krasner <dima@dimakrasner.com>
* / Add newlib retargetable locking configurationStephanos Ioannidis2019-12-201-0/+1
|/ | | | | | | This commit adds support for the newlib configuration option '--enable-newlib-retargetable-locking'. Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
* Merge pull request #1178 from stilor/masterAlexey Neyman2019-04-056-12/+12
|\ | | | | Last fixes for 1.24.0
| * Rename JOBSFLAGS -> CT_JOBSFLAGSAlexey Neyman2019-04-046-12/+12
| | | | | | | | | | | | ... so that it is saved/restored when restarting the build. Signed-off-by: Alexey Neyman <stilor@att.net>
* | Fix uClibc build for noMMU targetMax Filippov2019-03-231-14/+16
|/ | | | | | | | | | uclibc_backend_once tries to build dummy shared libraries regardless of whether shared libraries support for target is enabled or not, resulting in build failure in noMMU bFLT configuration. Only build dummy shared libraries when shared library support for target is enabled. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
* Fix musl build when CT_SHARED_LIBS=nDima Krasner2019-02-241-0/+5
| | | | Signed-off-by: Dima Krasner <dima@dimakrasner.com>
* Select flat/FDPIC in accordance with ct-ng settingAlexey Neyman2019-02-201-0/+9
| | | | | | | uClibc-ng 1.0.31 enabled FDPIC as an option for ARM/no-MMU configurations and defaults to that option if not set explicitly. Signed-off-by: Alexey Neyman <stilor@att.net>
* Stash the uClibc config after our modsAlexey Neyman2019-02-191-0/+4
| | | | | | ... before running `make olddefconfig`. This helps in debugging. Signed-off-by: Alexey Neyman <stilor@att.net>
* Move moxiebox build to post_ccAlexey Neyman2019-02-172-5/+4
| | | | | | core-2 gcc does not search the final prefix now for newlib's headers. Signed-off-by: Alexey Neyman <stilor@att.net>
* Disable CXX while building glibcAlexey Neyman2019-02-161-3/+4
| | | | | | | Otherwise, glibc 2.29 tries to use it - but we haven't built libstdc++ yet. We really need to implement #808... Until now, pass empty CXX to make. Signed-off-by: Alexey Neyman <stilor@att.net>
* Merge pull request #1134 from stilor/upgradingAlexey Neyman2019-02-061-7/+0
|\ | | | | Upgrade script + test suite
| * Config v2: select relevant parts of each package versionAlexey Neyman2019-01-301-7/+0
| | | | | | | | | | | | | | Also, remove a couple of config options that dealt with package versions that have been since retired. Signed-off-by: Alexey Neyman <stilor@att.net>
* | Coding style fix in uClibc.shDima Krasner2019-01-231-1/+1
| | | | | | | | Signed-off-by: Dima Krasner <dima@dimakrasner.com>
* | Moved uClibc configuration installation to uClibc.shDima Krasner2019-01-231-0/+4
|/ | | | Signed-off-by: Dima Krasner <dima@dimakrasner.com>
* Bionic modifies CT_TARGET_CFLAGSAlexey Neyman2018-12-151-1/+5
| | | | | | | ... which, after a recent change, is not reflected into CT_ALL_TARGET_CFLAGS for non-multilib configurations. Signed-off-by: Alexey Neyman <stilor@att.net>
* Remove a TBDAlexey Neyman2018-12-071-8/+0
| | | | | | | It only applied to core-pass-2 compiler; final compiler can locate the linker script just fine. Signed-off-by: Alexey Neyman <stilor@att.net>
* Disable -fstack-protector* from being used by glibcAlexey Neyman2018-12-071-0/+8
| | | | | | ... until it was fixed (to some extent) in 2.25. Signed-off-by: Alexey Neyman <stilor@att.net>
* Add configuration options for enabling SSPAlexey Neyman2018-12-042-3/+10
| | | | | | | | | | | ... 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>
* Fix uClibc builds after moxie mergeAlexey Neyman2018-12-032-13/+13
| | | | | | Broken because of the capitalization of the name. Signed-off-by: Alexey Neyman <stilor@att.net>
* Add moxiebox as a choice for libcAlexey Neyman2018-12-019-137/+163
| | | | | | | | | | | | | | | | | 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>
* Create glibc-ports symlink inside CT_SRC_DIRAlexey Neyman2018-10-161-2/+2
| | | | | | | | ... so that it works in both "bundled" and "bundled,local" cases. Fixes #1060. Signed-off-by: Alexey Neyman <stilor@att.net>
* Fix up timestamps after patchingAlexey Neyman2018-09-281-1/+0
| | | | | | ... so that autotools-based packages do not re-run autoconf/autoheader/automake. Signed-off-by: Alexey Neyman <stilor@att.net>