aboutsummaryrefslogtreecommitdiff
path: root/scripts/build
Commit message (Collapse)AuthorAgeFilesLines
...
| * | m4: fix build for mingw32 hostFlorent Valette2020-10-061-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While building a canadian toolchain for windows host (any target), the build failed for m4 host companion_tool with a recent mingw-w64 (at least 7.0.0). m4 needs stack smashing protection which is not part of mingw-w64 c library and an explicit trigger to link w/ libssp is needed. Signed-off-by: Florent Valette <florent.valette@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>
* | Map picolibc to suitable CT_TARGET_SYS valuesKeith Packard2020-09-161-2/+2
| | | | | | | | | | | | | | picolibc is another bare-metal C library, and so should be mapped to CT_TARGET_SYS just like newlib does. 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
* | Enable static libgcc when CT_GDB_NATIVE_STATIC_LIBSTDCXX is setStephanos Ioannidis2020-05-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit updates the GDB build script to specify `-static-libgcc` when `CT_GDB_NATIVE_STATIC_LIBSTDCXX` is enabled. Both libgcc and libstdc++ are considered to be part of the "standard libraries," and should be specified by the same flag (the configuration symbol could potentially use a better name and/or further indirection). This also semantically aligns the `CT_GDB_NATIVE_STATIC_LIBSTDCXX` with the equivalent GCC configuration `CT_CC_GCC_STATIC_LIBSTDCXX`, which also enables static linking of both libgcc and libstdc++. Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
* | Fix CT_GDB_NATIVE_STATIC_LIBSTDCXX referenceStephanos Ioannidis2020-05-261-2/+2
|/ | | | | | | This commit fixes an incorrect reference to the configuration `CT_GDB_NATIVE_STATIC_LIBSTDCXX` in the GDB build script. Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
* Add --with-cpu= on 32-bit SPARCAlexey Neyman2020-03-031-15/+26
| | | | | | ... if building for GLIBC 2.31+. Signed-off-by: Alexey Neyman <stilor@att.net>
* Set --with-cpu-{32,64} for multilib buildsAlexey Neyman2020-02-262-2/+6
| | | | | | | GLIBC 2.31 needs --with-cpu=ultrasparc for both 32/64-bits now, and --with-cpu only sets the CPU model for the "primary" bitness. Signed-off-by: Alexey Neyman <stilor@att.net>
* 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 #1303 from stilor/wipAlexey Neyman2020-02-091-0/+6
|\ \ | | | | | | Update docker to ubuntu 19.10
| * | Suppress YAML support in DTCAlexey Neyman2020-02-031-0/+6
| | | | | | | | | | | | | | | | | | ... which fails to build if pkg-config is not installed. Signed-off-by: Alexey Neyman <stilor@att.net>
* | | Merge pull request #1257 from nolange/fix_binutils_typoAlexey Neyman2020-01-211-1/+1
|\ \ \ | | | | | | | | fixup typo in bitutils.sh
| * | | fix nonfunctional --enable-relro optionNorbert Lange2019-10-151-1/+1
| | |/ | |/| | | | | | | 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 #1259 from nolange/add_binutils_deterministic_archivesAlexey Neyman2019-12-231-0/+3
|\ \ | | | | | | enable option for binutils deterministic-archives
| * | enable option for binutils deterministic-archivesNorbert Lange2019-10-101-0/+3
| |/ | | | | | | Signed-off-by: Norbert Lange <nolange79@gmail.com>
* | Merge pull request #1201 from abrodkin/topic-glibc-multilibAlexey Neyman2019-12-231-0/+36
|\ \ | | | | | | ARC: Support building of multi-lib Glibc toolchain
| * | ARC: Support building of multi-lib Glibc toolchainAlexey Brodkin2019-06-141-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From GCC's standpoint ARC's multilib items are defined by "mcpu" values which we have quite a few and for all of them might be built optimized cross-toolchain. From Glibc's standpoint multilib is just multi-ABI [1] and so very limited versions are supposed to co-exist (e.g. arc700 & archs). Here we force Glibc to install libraries in GCC's multilib folder to create a universal cross-toolchain that has libs optimized for multiple CPU types. But note we only need to mess with installation paths in case of real multilib, otherwise we keep default "lib/" paths so that GCC finds default (the one and only) libs where it expects them to be. Also here we add a sample which allows to build universal Glibc Linux toolchain for ARC. [1] https://sourceware.org/ml/libc-alpha/2019-06/msg00018.html Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
* | | 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>
* / build/internals.sh: Handle pie executablesChris Packham2019-09-141-1/+1
|/ | | | | | | | | | Fixes: #887 On some systems the file command identifies a pie executable as a shared object. Update do_finish() to handle this case so that they are stripped as well. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* Merge pull request #1178 from stilor/masterAlexey Neyman2019-04-0519-54/+54
|\ | | | | Last fixes for 1.24.0
| * Rename JOBSFLAGS -> CT_JOBSFLAGSAlexey Neyman2019-04-0419-49/+49
| | | | | | | | | | | | ... so that it is saved/restored when restarting the build. Signed-off-by: Alexey Neyman <stilor@att.net>
| * An artifact of merging native/gdbserver backendsAlexey Neyman2019-04-041-5/+5
| | | | | | | | | | | | | | ... resulted in an attempt to build libinproctrace.so whenever any of the {gdbserver, native gdb} was enabled. 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>
* | Add support for noMMU xtensaMax Filippov2019-03-231-3/+3
|/ | | | | | | | scripts/build/kernel/linux.sh only provides suffix to known architectures when building toolchain targeting noMMU linux. Add support for xtensa and assign uclinux suffix to it. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
* Make the proc_service.h workaround apply to gdbserverAlexey Neyman2019-03-121-6/+15
| | | | | | | | | ... when it is compiled without the native GDB. Also, fix the gdbserver to be installed without a program prefix in this case, as it was before the unification of the GDB backend. Signed-off-by: Alexey Neyman <stilor@att.net>
* Allow older GDB to build against newer glibcAlexey Neyman2019-03-111-1/+17
| | | | | | | Also, fix the subdir used when only gdbserver is built (without native GDB). Signed-off-by: Alexey Neyman <stilor@att.net>
* Move GDB build into a common backend functionAlexey Neyman2019-03-092-268/+156
| | | | | | | ... needed to create a common runtime test for an incompatible change in glibc API. Signed-off-by: Alexey Neyman <stilor@att.net>
* Meet our new companion tool, bisonAlexey Neyman2019-03-041-0/+66
| | | | | | | 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>
* Fix build of glibc 2.29 on systems with obsolete host programsAlexey Neyman2019-03-022-9/+12
| | | | | | | | | | | | - 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>
* Merge pull request #1144 from bwalle/expat-docbookAlexey Neyman2019-02-251-0/+1
|\ | | | | expat: Build without docbook
| * expat: Build without docbookBernhard Walle2019-02-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | This fixes following build error on Debian 9: configure: error: Your local docbook2man was found to work with SGML rather than XML. Please install docbook2X and use variable DOCBOOK_TO_MAN to point configure to command docbook2x-man of docbook2X. Or use DOCBOOK_TO_MAN="xmlto man --skip-validation" if you have xmlto around. You can also configure using --without-docbook if you can do without a man page for xmlwf. Signed-off-by: Bernhard Walle <bernhard@bwalle.de>
* | 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>
* Duh! do not override ${cflags}Alexey Neyman2019-02-191-2/+3
| | | | | | | | ... in the backend function with ${CFLAGS_FOR_HOST}. The caller either supplies them already, or (in case of pass-1/2 of the canadian cross) passes ${CFLAGS_FOR_BUILD} there. 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>
* Use -idirafter instead of copying headers.Alexey Neyman2019-02-171-13/+20
| | | | 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>
* Use CFLAGS for both CFLAGS/CXXFLAGS in GDBAlexey Neyman2019-02-131-22/+6
| | | | | | These config variables are documented as such anyway. Signed-off-by: Alexey Neyman <stilor@att.net>
* decouple darwin/clang here as per #712Roy Storey2019-02-131-12/+11
| | | https://github.com/crosstool-ng/crosstool-ng/issues/712#issuecomment-300891861
* Implement an option to store downloads in subdirsAlexey Neyman2019-02-131-2/+2
| | | | | | ... following the buildroot model. Signed-off-by: Alexey Neyman <stilor@att.net>
* Merge pull request #1134 from stilor/upgradingAlexey Neyman2019-02-062-12/+3
|\ | | | | Upgrade script + test suite
| * Config v2: select relevant parts of each package versionAlexey Neyman2019-01-302-12/+3
| | | | | | | | | | | | | | 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>