summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
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
2016-08-04Fix waffle.io badgesBryan Hundven1-1/+1
I had Ready twice and colums in the wrong order. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-08-04Merge pull request #414 from bhundven/Docs_UpdateBryan Hundven1-1/+1
README.md: Add mailing list archive/subscription page
2016-08-04README.md: Add mailing list archive/subscription pageBryan Hundven1-1/+1
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-08-04Merge pull request #413 from bhundven/Docs_UpdateBryan Hundven1-31/+372
Update README.md
2016-08-04Update README.mdBryan Hundven1-31/+372
This commit makes the README.md more informative and basically jacks a bunch of content from crosstool-ng.org (plus some extras). I also added the waffle.io badges Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-07-26populate: Fix undefined awkJean-Marie Lemetayer1-0/+1
Fix minor issue introduced by 6f8e89cb5ca061e899bf3feaaf3fecf30d366c3e
2016-07-25Add sparc-leon-linux-uclibc sampleKirill K. Smirnov3-0/+40
Signed-off-by: Kirill K. Smirnov <kirill.k.smirnov@gmail.com>
2016-07-19samples: Add powerpc64 little-endian toolchain sampleVaibhav Jain2-0/+16
This change adds a powerpc64le-unknown-linux-gnu sample that can be used to quickly create a little-endian tool-chain for powerpc64 architecture. This sample is based on the earlier work done by "Yann E. MORIN" to add support for powerpc64 tool chain and implementing the power64-unknown-linux-gnu sample. The existing sample however generates a big-endian tool chain by default. Signed-off-by: Vaibhav Jain <vaibhav@linux.vnet.ibm.com>
2016-06-18Merge pull request #403 from stilor/multilib-1Bryan Hundven16-7/+276
First chunk of multilib changes for merging
2016-06-14Update elf2flt default csetMartin Lund1-1/+1
2016-06-10Update elf2flt git repository locationMartin Lund1-1/+1
The elf2flt git repository has been moved to GitHub. Updated the script accordingly. Signed-off-by: Martin Lund <martin.lund@keep-it-simple.com>
2016-06-10glibc.sh: build dummy libc.so with correct extra flagsAlexey Neyman1-1/+2
Signed-off-by: Alexey Neyman <stilor@att.net>
2016-06-10glibc: Use common arch call to get multilib targetsRay Donnelly2-1/+37
The previous patch added the function 'CT_DoMultilibTarget()' to scripts/build/arch/*.sh. This patch calls the common function to (currently) get just the target tuple for the current multilib target. This patch was originally by: Cody P Schafer Changed by Alexey Neyman: first, try `gcc -print-multiarch`. If it is supported, use whatever it reports. Otherwise, fall back to our guesswork. Move "i486" quirk into glibc.sh, as it is specific to glibc (e.g. uclibc will need i386, which is what GCC reports). Signed-off-by: Bryan Hundven <bryanhundven@gmail.com> Signed-off-by: Ray Donnelly <mingw.android@gmail.com> Signed-off-by: Alexey Neyman <stilor@att.net>
2016-06-10arch/x86: add a sanity checkAlexey Neyman1-0/+11
i[34567]86-*-gnux32 is not a valid tuple. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com> Signed-off-by: Ray Donnelly <ray.donnelly@gmail.com> Signed-off-by: Alexey Neyman <stilor@att.net>
2016-06-10 arch/all: Add common function to return multilib targetAlexey Neyman10-0/+181
This code was abstracted out of Cody P Schafer's multilib patch. It doesn't seem right having architecture dependent code in a specific libc implementation script. So this patch breaks it out into scripts/build/arch/<arch>.sh in a function: multilib_target_to_build="$(CT_DoArchMultilibTarget 'multi_flags' 'target-in')" Note that this function gets called on each multilib variant with different sets of compiler flags supplied in 'multi_flags'. The caller will first filter the flags so that there is no conflicting flags (e.g., no '-m32 -m64') supplied. Changed by Alexey Neyman: - make option analysis check specific option rather than match global options string as a whole. Moreover, old code did not handle multiple options in the same multilib, e.g. '-m64 -mlittle'. - fixed substitutions in powerpc.sh (*le variants did not match the pattern in the shell parameter expansion) - make s390.sh actually apply the flags it gathered from the options. - straighten the spaghetti in x86.sh by setting two flags, arch & abi. Also, do not depend on "gnu" being the last part - we can have '*-uclibcx32', for example. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com> Signed-off-by: Ray Donnelly <ray.donnelly@gmail.com> Signed-off-by: Alexey Neyman <stilor@att.net>
2016-06-10gcc: Add --with-multilib-list optionRay Donnelly2-0/+16
Written by Bryan Hundven. Modified by Alexey Neyman to actually add the option to gcc.in. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com> Signed-off-by: Ray Donnelly <mingw.android@gmail.com> Signed-off-by: Alexey Neyman <stilor@att.net>
2016-06-10Enable multiarch support in pass-1 GCC.Alexey Neyman1-3/+12
By default, it is 'auto' - which means, it is enabled if there are multilibs directories detected in the installation location for libgcc. Thus, it is not detected for pass-1 GCC: the installation location is empty at this point. Signed-off-by: Alexey Neyman <stilor@att.net>
2016-06-10glibc: do not add bogus optionsAlexey Neyman1-2/+2
If a multilib configuration contains an endianness option, the ${endian_extra} is set to, for example, 'mb' (note, no dash!). It is then added to CFLAGS, resulting in bogus flags like 'mb -mb'. But it is not even needed, as ${extra_flags} already contains the very same option! Found by experimenting with multilibs with different endianness on SH, which still didn't work, but that's another story... Signed-off-by: Alexey Neyman <stilor@att.net>
2016-06-10sh: require multilibAlexey Neyman1-0/+1
Now that libc backend installs the libraries into the directory reported by gcc as 'multi-os-directory', sh4 libraries are installed into a '!m4' subdirectory. This directory then confuses GNU ld, which assumes the exclamation mark to be a word separator and attempts to link to '/usr/lib' (a directory). However, if multilib is enabled, the default libraries are installed into the [expected] '/usr/lib/./'. This looks like an artifact of SuperH's unique way of specifying the multilibs to be built in GCC (which may list exclusions, starting with '!'). Signed-off-by: Alexey Neyman <stilor@att.net>
2016-06-10arch/sparc: better default CPU when targetting LinuxAlexey Neyman1-0/+13
By default, sparc64-*-linux is configured with -mcpu=v9. However, according to https://sourceware.org/ml/libc-alpha/2005-12/msg00027.html: "There is no Linux sparc64 port that runs on non-UltraSPARC-I+ ISA CPUs." v9 is such a "non-UltraSPARC-I+ ISA CPU", so it makes no sense to default to v9 when targetting Linux. Change the default to ultrasparc, even though it can suboptimally schedule instructions for newer SPARC CPUs. See the pending patch: https://patchwork.ozlabs.org/patch/409424/ Signed-off-by: Alexey Neyman <stilor@att.net>
2016-06-10musl: config is broken for !EXPERIMENTALAlexey Neyman1-0/+1
If EXPERIMENTAL is not set, the only choice for version is the set of released versions - currently, 1.1.14. But this only option is disabled because it is also marked EXPERIMENTAL; this leaves no available choices in the configuration. Marking MUSL as experimental: it seems to have header issues which prevent, for example, gdbserver from building. musl copied chunks of ptrace.h code from the kernel into its own headers, which now clash with Linux kernel headers. Manifests at least on SH4 target. Also, musl breaks in powerpc builds: GCC balks at it with "unsupported DEFAULT_LIBC" message. Also, 64-bit powerpc and mips are not supported. So, until someone figures out the dependencies for musl in config/, mark it experimental. Signed-off-by: Alexey Neyman <stilor@att.net>
2016-05-13Merge pull request #392 from bhundven/fix_building_gcc-5_with_gcc-6Bryan Hundven1-0/+151
patches/gcc: Backport fix for building gcc-5 with gcc-6
2016-05-13patches/gcc: Backport fix for building gcc-5 with gcc-6Bryan Hundven1-0/+151
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69959 ...was observed while trying to build gcc-5.3.0 on latest (at the time of this change) archlinux using gcc-6.1.1. This patch fixes the issue. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-05-13Merge pull request #373 from stilor/unbreak-ppc-uclibcBryan Hundven12-18/+75
Unbreak samples
2016-05-12Merge pull request #390 from bhundven/addToolVersion_syntax_issuesBryan Hundven1-4/+4
addToolVersion: Fix syntax issues
2016-05-12addToolVersion: Fix syntax issuesBryan Hundven1-4/+4
This issue was reported on github: https://github.com/crosstool-ng/crosstool-ng/issues/378 by: alonbg This is the same addToolVersion.sh change in the zipfile, with minor changes. (whitespace) This closes #378 Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-05-12Merge pull request #366 from CDKGlobal/glibc-getaddrinfoBryan Hundven1-0/+551
Add patch for glibc 2.22 for CVE-2015-7547.
2016-04-02Work-around another quirk in GDB configure.Alexey Neyman1-4/+11
Previous fix for cross-gdb broke powerpc-unknown_nofpu-linux-gnu which uses an old GDB (6.8a). That GDB's configure chokes on $CC values with multiple consecutive spaces; see the comment in 300-gdb.sh. Signed-off-by: Alexey Neyman <stilor@att.net>
2016-04-02Mark x86_64-w64-mingw32,x86_64-pc-linux-gnu broken.Alexey Neyman2-2/+0
I couldn't get this sample to build. I tried rolling ct-ng back to 1.22 and back to the commit that introduced it, to no avail. Not sure if it ever built on my machine. The first problem is the failure to build binutils/gold because of the missing <pthread.h> in mingw. However, even if CT_BINUTILS_GOLD_THREADS option is unset, the build dies in configure of the pass-1 of the core CC. The config.log states that it failed to link with libmpfr.a, which has a lot of undefined references to symbols like '__imp___iob_func'. Googling shows that these symbols are some dark Cygwin/MinGW magic and I do not have the knowledge of these arcana. Let some other MinGWizard fix it another day. Signed-off-by: Alexey Neyman <stilor@att.net>
2016-04-02Unbreak sparc-unknown-linux-gnu.Alexey Neyman2-3/+23
GLIBC 2.23 dropped support for pre-v9 SPARC in pthreads. Pass host triplet with s/sparc/sparcv9/ replacement for 2.23. Signed-off-by: Alexey Neyman <stilor@att.net>
2016-04-02Remove --with-expat from extra GDB args.Alexey Neyman4-4/+0
300-gdb.sh always adds --with-expat, no need to list it in crosstool.config. Signed-off-by: Alexey Neyman <stilor@att.net>
2016-04-02Unbreak static cross-gdb.Alexey Neyman2-5/+16
GDB's configure mishandles the libexpat.{so,a} libraries when it is given -static in CFLAGS AND --with-libexpat-prefix in configure's args: it checks for <prefix>/lib/libexpat.so and finding that, attempts to link it as `gcc -static .. conftest.c <prefix>/lib/libexpat.so`; this obviously fails (.so cannot be statically linked), so configure assumes libexpat is unusable. Thus, --with-libexpat-prefix is dangerous and should be avoided; instead, configure should find the libraries via the supplied CC/LD definitions.
2016-04-02Unbreak *-uclibc with native GDB.Alexey Neyman1-0/+12
Currently, native GDB 7.11 fails to build with uClibc-ng due to undefined reference to _obstack_free. On IRC [http://crosstool-ng.osuosl.org/download/ibot-logs/2016-02-28.html], it has been suggested to disable obstack in uClibc configuration. I think it is a workaround rather than a fix: if another library/app needs obstack, this leaves no viable configuration. IMO, if uClibc seeks to mimic the glibc API, it should also provide _obstack_free call (an alias for which it already has, even though commented out). Signed-off-by: Alexey Neyman <stilor@att.net>
2016-04-02Unbreak powerpc-unknown-linux-uclibc.Alexey Neyman2-0/+13
There is invalid assembly in dmalloc for PowerPC. The issue is that 'stw' expects a memory operand, and =g constraint allows both registers and memory. Newer GCC tends to choose register even at -O0, resulting in invalid assembly. Instead, force a register constraint in 'mflr' and let GCC decide if it wants to store it into memory at all. Reported this upstream. Signed-off-by: Alexey Neyman <stilor@att.net>
2016-03-26Merge pull request #320 from bhundven/newlib_updatesBryan Hundven3-3/+49
Newlib updates
2016-03-15Merge pull request #376 from jcmvbkbc/gcc-flags-for-targetBryan Hundven5-0/+109
Pass CFLAGS_FOR_TARGET/CXXFLAGS_FOR_TARGET for libstdc++ in baremetal build
2016-03-15scripts/build/cc: pass FLAGS_FOR_TARGET in do_gcc_core_backendMax Filippov1-0/+3
Pass CFLAGS_FOR_TARGET, CXXFLAGS_FOR_TARGET and LDFLAGS_FOR_TARGET to gcc configure in do_gcc_core_backend as they may be used to build libstdc++ for bare-metal target. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2016-03-15gcc: backport fixes that preserve FLAGS_FOR_TARGETMax Filippov4-0/+106
CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET are rewritten in gcc-4.8.x and gcc-4.9.x, so libstdc++ does not get any flags passed to gcc configure. Backport fixes for config/mt-gnu and config/mt-ospace that preserve these flags. With these fixes libstdc++ gets built with flags specified in CT_TARGET_CFLAGS. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2016-03-08newlib: add option to enable nano formatted ioBryan Hundven2-0/+13
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-03-08newlib: add option to enable nano mallocBryan Hundven2-0/+14
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-03-08newlib: disable multilib if it is not enabledBryan Hundven1-0/+5
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-03-08newlib: Update newlib versionsBryan Hundven1-3/+17
Newlib release seem to be snapshots now. Newlib 2.3.0 was released in git here: https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;a=commit;h=ad7b3cde9c157f2c34a6a1296e0bda1ad0975bda and the snapshot for 2.3.0 was here: https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;a=commit;h=06cd7127e3cf16ab3c0aa665956deb263e524753 The 2.2 series was also updated. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-03-04Add patch for glibc 2.22 for CVE-2015-7547.Reser, Ben1-0/+551
This resolves a vulnerability related to getaddrinfo().
2016-03-03Merge pull request #364 from bhundven/aarch64_generic_sampleBryan Hundven3-0/+18
Aarch64 generic sample
2016-03-03Merge pull request #365 from bhundven/no_aout_static_checkBryan Hundven1-1/+1
configure: Don't write a.out on static compiler check
2016-03-03configure: Don't write a.out on static compiler checkBryan Hundven1-1/+1
Because I don't pass `-o` to gcc, it makes an a.out file with gcc. For clang it doesn't make the a.out, as that is not the default. It doesn't hurt to output to /dev/null for both. Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-03-03travis-ci: Add aarch64-unknown-linux-gnueabiBryan Hundven1-0/+1
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>