[crosstool-ng/crosstool-ng] 08d91d: musl: config is broken for !EXPERIMENTAL
Bryan Hundven
bryanhundven@gmail.com
Sat Jun 18 01:03:00 GMT 2016
Branch: refs/heads/master
Home: https://github.com/crosstool-ng/crosstool-ng
Commit: 08d91d41f3c0bceed264a24920b4daa98fa18b9a
https://github.com/crosstool-ng/crosstool-ng/commit/08d91d41f3c0bceed264a24920b4daa98fa18b9a
Author: Alexey Neyman <stilor@att.net>
Date: 2016-06-09 (Thu, 09 Jun 2016)
Changed paths:
M config/libc/musl.in
Log Message:
-----------
musl: config is broken for !EXPERIMENTAL
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>
Commit: a60946eb24430a8b43b8fe6027d32ab17be28111
https://github.com/crosstool-ng/crosstool-ng/commit/a60946eb24430a8b43b8fe6027d32ab17be28111
Author: Alexey Neyman <stilor@att.net>
Date: 2016-06-09 (Thu, 09 Jun 2016)
Changed paths:
M scripts/build/arch/sparc.sh
Log Message:
-----------
arch/sparc: better default CPU when targetting Linux
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>
Commit: a49e13fb4edeefba406d98754fb0ca04b707ff4c
https://github.com/crosstool-ng/crosstool-ng/commit/a49e13fb4edeefba406d98754fb0ca04b707ff4c
Author: Alexey Neyman <stilor@att.net>
Date: 2016-06-09 (Thu, 09 Jun 2016)
Changed paths:
M config/arch/sh.in
Log Message:
-----------
sh: require multilib
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>
Commit: 55879ed1d83ebb72f2ab6cbbd892448c731a7163
https://github.com/crosstool-ng/crosstool-ng/commit/55879ed1d83ebb72f2ab6cbbd892448c731a7163
Author: Alexey Neyman <stilor@att.net>
Date: 2016-06-09 (Thu, 09 Jun 2016)
Changed paths:
M scripts/build/libc/glibc.sh
Log Message:
-----------
glibc: do not add bogus options
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>
Commit: a65d8841ec0ceff75a3d5c3795cfb7435a194670
https://github.com/crosstool-ng/crosstool-ng/commit/a65d8841ec0ceff75a3d5c3795cfb7435a194670
Author: Alexey Neyman <stilor@att.net>
Date: 2016-06-09 (Thu, 09 Jun 2016)
Changed paths:
M scripts/build/cc/100-gcc.sh
Log Message:
-----------
Enable multiarch support in pass-1 GCC.
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>
Commit: aa30d0bc4fdf6480a5a24c69e5537f8c41011470
https://github.com/crosstool-ng/crosstool-ng/commit/aa30d0bc4fdf6480a5a24c69e5537f8c41011470
Author: Ray Donnelly <mingw.android@gmail.com>
Date: 2016-06-09 (Thu, 09 Jun 2016)
Changed paths:
M config/cc/gcc.in.2
M scripts/build/cc/100-gcc.sh
Log Message:
-----------
gcc: Add --with-multilib-list option
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>
Commit: 34ecc718d9d2ea7d391056733d004c68fe7e4bf3
https://github.com/crosstool-ng/crosstool-ng/commit/34ecc718d9d2ea7d391056733d004c68fe7e4bf3
Author: Alexey Neyman <stilor@att.net>
Date: 2016-06-09 (Thu, 09 Jun 2016)
Changed paths:
M scripts/build/arch/alpha.sh
M scripts/build/arch/arm.sh
M scripts/build/arch/m68k.sh
M scripts/build/arch/microblaze.sh
M scripts/build/arch/mips.sh
M scripts/build/arch/powerpc.sh
M scripts/build/arch/s390.sh
M scripts/build/arch/sh.sh
M scripts/build/arch/sparc.sh
M scripts/build/arch/x86.sh
Log Message:
-----------
arch/all: Add common function to return multilib target
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>
Commit: 67b314a05156f9af221b807d543030ef9f0dc842
https://github.com/crosstool-ng/crosstool-ng/commit/67b314a05156f9af221b807d543030ef9f0dc842
Author: Alexey Neyman <stilor@att.net>
Date: 2016-06-09 (Thu, 09 Jun 2016)
Changed paths:
M scripts/build/arch/x86.sh
Log Message:
-----------
arch/x86: add a sanity check
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>
Commit: c7da54edf4c2e3a3eb97eb5fb967143e5071a670
https://github.com/crosstool-ng/crosstool-ng/commit/c7da54edf4c2e3a3eb97eb5fb967143e5071a670
Author: Ray Donnelly <mingw.android@gmail.com>
Date: 2016-06-09 (Thu, 09 Jun 2016)
Changed paths:
M scripts/build/libc/glibc.sh
M scripts/functions
Log Message:
-----------
glibc: Use common arch call to get multilib targets
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>
Commit: dc8f2d1c04258069101e913d22c898298b98384c
https://github.com/crosstool-ng/crosstool-ng/commit/dc8f2d1c04258069101e913d22c898298b98384c
Author: Alexey Neyman <stilor@att.net>
Date: 2016-06-09 (Thu, 09 Jun 2016)
Changed paths:
M scripts/build/libc/glibc.sh
Log Message:
-----------
glibc.sh: build dummy libc.so with correct extra flags
Signed-off-by: Alexey Neyman <stilor@att.net>
Commit: 6e7c61650a39a67ee02ed58c11d64c94c436bb33
https://github.com/crosstool-ng/crosstool-ng/commit/6e7c61650a39a67ee02ed58c11d64c94c436bb33
Author: Bryan Hundven <bryanhundven@gmail.com>
Date: 2016-06-17 (Fri, 17 Jun 2016)
Changed paths:
M config/arch/sh.in
M config/cc/gcc.in.2
M config/libc/musl.in
M scripts/build/arch/alpha.sh
M scripts/build/arch/arm.sh
M scripts/build/arch/m68k.sh
M scripts/build/arch/microblaze.sh
M scripts/build/arch/mips.sh
M scripts/build/arch/powerpc.sh
M scripts/build/arch/s390.sh
M scripts/build/arch/sh.sh
M scripts/build/arch/sparc.sh
M scripts/build/arch/x86.sh
M scripts/build/cc/100-gcc.sh
M scripts/build/libc/glibc.sh
M scripts/functions
Log Message:
-----------
Merge pull request #403 from stilor/multilib-1
First chunk of multilib changes for merging
Compare: https://github.com/crosstool-ng/crosstool-ng/compare/7300eb17b43a...6e7c61650a39
-------------- next part --------------
--
For unsubscribe information see http://sourceware.org/lists.html#faq
More information about the crossgcc
mailing list