summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-09-07gcc: Added 6.1.0 to version listYogesh Sharma1-1/+23
added gcc-6.1.0 to version list in kconfig Signed-off-by: Yogesh Sharma <YogeshASharma@gmail.com>
2016-08-31Merge pull request #406 from vaibhav92/powerpc64le-sampleBryan Hundven2-0/+16
samples: Add powerpc64 little-endian toolchain sample
2016-08-31Merge pull request #409 from KirillSmirnov/masterBryan Hundven3-0/+40
samples: Add sparc-leon-linux-uclibc sample
2016-08-31Merge pull request #425 from kozyilmaz/gcc-5.4.0Bryan Hundven34-154/+267
gcc: Update gcc 5 to 5.4.0
2016-08-31Merge pull request #435 from KirillSmirnov/uclibcBryan Hundven1-1/+7
uClibc: improve managing shared libs
2016-08-31Merge pull request #429 from pedronavf/patch-1Bryan Hundven1-1/+3
Update x86.sh
2016-08-29uClibc: propagate SHARED_LIBS option.Kirill K. Smirnov1-0/+6
This patch synchronizes crosstool CT_SHARED_LIBS and uclibc HAVE_SHARED options. Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov@gmail.com>
2016-08-29uClibc: install native utilsKirill K. Smirnov1-1/+1
This change adds native ldd and ldconfig utils to sysroot. For glibc just 'make install' installs everything including utils. For uclibc there exists a separate goal 'install_utils'. Make it. Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov@gmail.com>
2016-08-29Merge branch 'master' into gcc-5.4.0kozyilmaz3-21/+36
2016-08-26Merge pull request #431 from bhundven/fix_cross_build_toolsBryan Hundven1-2/+2
cross: Only make 'build tools' for the 'build'
2016-08-26Merge pull request #432 from bhundven/update_config_guess_subBryan Hundven2-19/+34
Update config.guess and config.sub
2016-08-26Update config.guess and config.subBryan Hundven2-19/+34
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-08-26cross: Only make 'build tools' for the 'build'Bryan Hundven1-2/+2
For a cross-compiler, we only need to make the 'build tools' for the 'build'. We also build the 'build tools' for the 'host' when building a cross-canadian toolchain. Closes #430 Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-08-26Update x86.shPedro Navarro1-1/+3
Added additional x86 architectures, like core2, that also map to i686
2016-08-24xgcc: Update gcc 5 to 5.4.0kozyilmaz34-154/+267
patches synced with buildroot trunk and: 110-xtensa-implement-trap-pattern.patch (copied to 5.4.0 patches) 130-build_gcc-5_with_gcc-6.patch (upstreamed in 5.4.0, dropped) 370-gcc-plugin-Win-Dont-need-undefined-extern-var-refs-nor-fpic.patch (copied to 5.4.0 patches) 380-gcc-plugin-POSIX-include-sys-select-h.patch (copied to 5.4.0 patches) 910-nios2-bad-multilib-default.patch (copied to 5.4.0 patches)
2016-08-23Merge pull request #410 from jmlemetayer/fix_populateBryan Hundven1-0/+1
populate: Fix undefined awk
2016-08-23Merge pull request #422 from datacom-teracom/masterBryan Hundven1-1/+1
scripts/functions: fix log level in call to CT_DoLog
2016-08-23Merge pull request #402 from lundmar/fix_elf2flt_repoBryan Hundven2-2/+2
Update elf2flt git repository location
2016-08-23Merge pull request #383 from stilor/multilibBryan Hundven59-796/+1487
Multilib support
2016-08-23Rename sample to match the 'saveconfig' location.Alexey Neyman2-0/+0
arm-cortex_a15-linux-gnueabi was actually arm-cortex_a15-linux-gnueabihf. Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23build-all: Remove successful build trees.Alexey Neyman1-1/+3
I am running out of space when running build-all for all samples. Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23arm-multilib-linux-uclibcgnueabi: Add.Alexey Neyman2-0/+21
No threads (uclibc/libpthread does not compile on ARMv8); no C++ (libitm depends on pthreads), no GDB/DUMA (depend on threads). Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23mips64el-*-linux-uclibc: Remove.Alexey Neyman5-36/+1
Now, both -mabi=n32 and -mabi=64 are available as multilibs. Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23Create multilib configurations based on certain *-linux-* samples.Alexey Neyman18-0/+166
Based on the following samples: - x86_64-unknown-linux-gnu (-m64/-m32/-mx32) - powerpc64-unknown-linux-gnu (-m64/-m32) - mipsel-unknown-linux-gnu (-mabi={32,n32,64}) - sh4-unknown-linux-gnu (-m4/-m4a) - x86_64-unknown-linux-uclibc (-m64/-m32) - mips64el-unknown-linux-uclibc (-mabi={32,n32,64}) New samples: - sparc64-multilib-linux-gnu (-m64/-m32) - sh4-multilib-linux-uclibc (-m4/-m4a/-m3) - x86_64-multilib-linux-musl (-m64/-m32) Notably missing is arm-unknown-linux-gnu (aprofile): GLIBC does not compile in one of the variants in its multilib set (-march=armv4t -mthumb) due to missing atomic ops implementation. Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23nios2: bad option reported in multilib_defaultsAlexey Neyman1-0/+28
multilib_defaults refers to -EL/-EB, but this target uses -mel/-meb and does not recognize -EL/-EB. Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23musl: Add multilib support.Alexey Neyman4-36/+77
Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23uClibc: move ldso check to post_cc.Alexey Neyman1-43/+54
It turns out that core GCC on binfmt architectures (m68k, for example) cannot produce the final executable (looks for ld.real in the wrong place). Need to wait for the final gcc to become available. Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23Support multilib in sh/uClibc.Alexey Neyman4-217/+213
Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23Treat multiroots differently.Alexey Neyman2-17/+83
'ld' does not search for dependency libraries in multi_os_directory, so if there's both multi_os_directory and multi_root, and there is only one configuration in each multi_root, forgo the multi_os_directory suffix. Needed for sh4-multilib-linux-uclibc. Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23mips: allow o32 ABI as default for multilibAlexey Neyman1-1/+1
... since n32 and n64 are going to get built as well. Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23First stab at multilib/uClibc.Alexey Neyman5-16/+273
Create a separate 'libc_backend_once', install headers into a subdirectory (different sets of headers are installed for 32- and 64-bit architectures), and create a symlink for the dynamic linker location expected by GCC. Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23uClibc: Split configuration tweaker into per-arch functions.Alexey Neyman11-113/+174
Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23Change multilib functions to set the variable.Alexey Neyman7-57/+79
Rather than echo-ing the new value, set the value into the variable with the name passed as an argument (similar to CT_SanitizeVarDir). This allows to use CT_DoLog in these functions. Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23libc/*.sh: Deprecate libc_check_config step.Alexey Neyman21-149/+96
This step was only used in uClibc. However, with upcoming multilib, the config management will have to be done for each variant differently, anyway. uClibc was the only user of libc_check_config step, as well as CT_CONFIG_DIR directory. Retire these. Two other clean-ups in uClibc.sh: - KERNEL_HEADERS check seems to be bogus, this config option is not present even in 0.9.30 - which is not supported already. - SHARED_LIB_LOADER_PREFIX was renamed to MULTILIB_DIR in 0.9.31, according to ChangeLog - and MULTILIB_DIR is passed from command line instead. Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23uclibc: merge startfiles/final into single backend.Alexey Neyman2-162/+111
In preparation for multilib support, use the same "backend" model that is already employed by glibc and musl. Also, the verbosity setting descriptions were swapped. V=2 is actually less verbose than V=1: V=1 prints full commands, while V=2 prints 'CC <file> <defines>'. Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23uClibc.sh: typo, local -> locale.Alexey Neyman1-13/+13
Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23Spelling fixes.Alexey Neyman3-4/+4
Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23glibc.sh: cleanupsAlexey Neyman2-65/+33
- Dump CT_LIBC_EXTRA_CC_ARGS: instead, treat CT_LIBC_EXTRA_CFLAGS as arguments to CC (or they are not applied to .S, for example). Combine them with multi_flags and CT_TARGET_CFLAGS in proper order. - Analyze thus combined flags to determine --with-fp/--without-fp. Don't need to check CT_ARCH_FLOAT - it is reflected in CT_TARGET_CFLAGS anyway. Check more soft/hard float options defined on different architectures. - Drop checking for endianness flags: they are not reflected in configure arguments in any way, and they're already present in CFLAGS (either via multi_flags or via CT_TARGET_CFLAGS). Besides, CT_ARCH_ENDIAN_OPT was actually called CT_ARCH_ENDIAN_CFLAG, so this was a no-op anyway. Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23libc/*.sh: handle combinations of multilib root/dir.Alexey Neyman6-171/+197
Install startfiles for libc variants into the most specific combination (suffixed sysroot, if applicable + suffixed multi-os dir, if applicable). Install headers once in every suffixed sysroot (although it seems that GCC picks up headers from top-level sysroot, GCC manual claims that sysroot suffix affects headers search path). In uClibc, this requires a better sanitization of the directory: it creates symlinks from {sysroot}/usr/lib/{multi_os_dir} to {sysroot}/lib/{multi_os_dir} and to do so, it counts the number of path components in the libdir. This breaks if one of such components is `..' - symlinks contain an extra `../..' then. Since such sanitization had to be implemented anyway, use it in other places to print more sensible directory names. Also, fix the description of configure --host/--target per musl's configure help message (and its actual code). Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23multilib: Determine which options may pass through.Alexey Neyman5-55/+224
On some arches (e.g. MIPS) the options like -mabi do not work if specified more than once (see the comment in 100-gcc.sh). Therefore, we need to determine which of the options produced by <arch>.sh can be passed to multilib builds and which must be removed (i.e., which options vary among the multilibs). This presents a chicken-and-egg problem. GCC developers, in their infinite wisdom, do not allow arbitrary multilib specification to be supplied to GCC's configure. Instead, the target (and sometimes some extra options) determine the set of multilibs - which may include different CPUs, different ABIs, different endianness, different FPUs, different floating-point ABIs, ... That is, we don't know which parts vary until we build GCC and ask it. So, the solution implemented here is: - For multilib builds, start with empty CT_ARCH_TARGET_CFLAGS/LDFLAGS. - For multilib builds, require core pass 1. Pass 1 does not build any target binaries, so at that point, our target options have not been used yet. - Provide an API to modify the environment variables for the steps that follow the current one. - As a part of multilib-related housekeeping, determine the variable part of multilibs and filter out these options; pass the rest into CT_TARGET_CFLAGS/LDFLAGS. This still does not handle extra dependencies between GCC options (like -ma implying -mcpu=X -mtune=Y, etc.) but I feel that would complicate matters too much. Let's leave this until there's a compelling case for it. Also, query GCC's sysroot suffix for targets that use it (SuperH, for example) - the default multilib may not work if the command line specifies the default option explicitly (%sysroot_suffix_spec is not aware of multilib defaults). Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23glibc: Build manuals and locales lastRay Donnelly1-3/+17
Rather then building the manuals and locales for each multilib target, only build the manuals on the last multilib target. If you are not building a multilib toolchain, then the first libc build will be the last. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-08-23crosstool-NG.sh.in: Don't make lots of symlinks to lib folderRay Donnelly3-68/+47
For 4 different folders: ${CT_PREFIX_DIR} ${CT_SYSROOT_DIR} ${CT_SYSROOT_DIR}/usr ${CT_PREFIX_DIR}/${CT_TARGET} .. symlinks from 'lib32' and 'lib64' to 'lib' were created. This was untidy and incorrect for multilib (the bitness of the libraries in 'lib32' and 'lib64' will not be the same) We can not know which folders this toolchain configuration will require at this time so let them be created on-demand instead. Changed by Alexey Neyman: original change removed too much; we still need to create the default directories because the os directories are based off them (e.g. `lib/../lib64'). Signed-off-by: Ray Donnelly <mingw.android@gmail.com> Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-23glibc.sh: Use --print-multi-os-directoryAlexey Neyman1-41/+44
GCC makes the distinction between: multilib (-print-multi-lib) and multilib-os (--print-multi-os-directory) as the GCC library and GCC sysroot library paths, respecitively. Use this to build libc into the correct locations, the same applies to the dummy libc.so Changed by Alexey Neyman: restore missing CT_EndStep. Signed-off-by: Ray Donnelly <mingw.android@gmail.com> Signed-off-by: Alexey Neyman <stilor@att.net>
2016-08-17scripts/functions: fix log level in call to CT_DoLogCarlos Santos1-1/+1
It must be "DEBUG", not "Debug" Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
2016-08-12Merge branch 'master' of https://github.com/crosstool-ng/crosstool-ngDmitry Pankratov3-33/+376
2016-08-04Merge pull request #418 from bhundven/Docs_UpdateBryan Hundven1-2/+2
README.md: Fix a list formatting issue.
2016-08-04README.md: Fix a list formatting issue.Bryan Hundven1-2/+2
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-08-04Merge pull request #416 from bhundven/update_gitignoreBryan Hundven2-2/+4
Update .gitignore in kconfig/...
2016-08-04Update .gitignore in kconfig/...Bryan Hundven2-2/+4
Ignore `*.dep` and `*.o`. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-08-04Merge pull request #415 from bhundven/Docs_UpdateBryan Hundven1-1/+1
Fix waffle.io badges