Commit Graph

4344 Commits

Author SHA1 Message Date
Alexey Neyman
63b2a19de4 Add an option to "demultilib"
It turns out buildroot does not currently accept a toolchain where a dynamic
linker does not reside in the multi-os-directory. Unfortunately this is
how glibc installs itself on AArch64 without any extra tricks.

So, provide an option to force everything into /lib or /usr/lib; patch to
buildroot will be worked on separately.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-17 14:31:17 -07:00
Alexey Neyman
1ca65187f7 Make arm-multilib-linux-uclibcgnueabi static
GCC does not distinguish the resulting binary by the CFLAGS (e.g. based
on which -march= was given). This means, while it will use the right
libraries for linking, at runtime they are all going to request the same
ld.so path and load the libraries from the same default path.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-15 23:57:31 -07:00
Alexey Neyman
061765ced6 Mark static gdb/gdbserver EXPERIMENTAL
... and default to 'n'.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-15 23:57:22 -07:00
Alexey Neyman
75d968ad54 Make uClibc-ng search multilib dir if one is set
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-15 01:08:48 -07:00
Alexey Neyman
b00dea9951 Check libraries for compatibility
... as we are going through various multilibs in ld.so.conf

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-14 19:28:26 -07:00
Alexey Neyman
11b52ab6d7 Create ld.so.conf
Also a fix for CT_IterateMultilibs: it didn't pass multi_os_dir_gcc, so
it only worked if the caller did *not* declare it as a local variable.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-13 01:08:13 -07:00
Alexey Neyman
b090e0f74d Fix up ld.so symlinks for musl
Convert absolute targets to relative so that they are valid on the host,
too. The procedure is very similar to uclibc, so it is moved into a
common function.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-12 19:41:09 -07:00
Alexey Neyman
8600f3ce56 Move tools alias creation to a common function
... and in addition to final toolchain aliasing, use it when configuring
multilibs for glibc/musl. Note that uClibc does not need it, it is
explicitly selecting the tools using CROSS_PREFIX.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-12 16:56:19 -07:00
Alexey Neyman
a3dd55b964 Merge pull request #643 from stilor/macos-mingw-malloc.h
mingw-w64: no <malloc.h> on macos
2017-03-12 00:42:09 -08:00
Alexey Neyman
cba1962200 Fix library search paths on PowerPC
binutils 2.23 and earlier are not affected, they had the correct code.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-11 20:26:26 -08:00
Alexey Neyman
0b566d687f Only include <malloc.h> if configure says it exists
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-11 15:36:39 -08:00
Alexey Neyman
a8a080f9b6 Add latest versions of mingw 4.x/3.x/2.x branches
4.0.6 is the only one not marked obsolete.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-11 15:35:47 -08:00
Alexey Neyman
8f4db915bd Merge pull request #640 from stilor/make-no-guile-canadian
Disable Guile in make if building for host in canadian
2017-03-11 13:04:13 -08:00
Alexey Neyman
af2c6c601b Merge pull request #641 from stilor/arm-glibc-2.13
Add ARM patches for 2.12.2/2.13
2017-03-11 13:04:01 -08:00
Alexey Neyman
6a63f5ca7d Merge pull request #642 from stilor/uclibc-gl-patch
Patch from upstream fixing dlopen from a static app
2017-03-11 13:03:53 -08:00
Alexey Neyman
7329ea51b4 Patch from upstream fixing dlopen from a static app
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-10 15:43:18 -08:00
Alexey Neyman
30e8549e3d Add ARM patches for 2.12.2/2.13
Reported-by: Austin Beer (brainwave64)
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-10 14:37:36 -08:00
Alexey Neyman
dd55349646 Disable Guile in make if building for host in canadian
make's configure uses pkg-config to detect if Guile should be enabled;
on ArchLinux, this picks up Guile from build machine's pkgconfig and then
it fails to compile.

A better solution might be to create a ${CT_HOST}-pkg-config in
buildtools/bin that would report "unsupported" for all packages.
However a quick grep only showed pkg-config being used by GCJ
(not sure if it will build in canadian cross - we don't have any
samples with GCJ) and Blackfin simulator in GDB (Blackfin is not
currently supported by crosstool-ng). Hence, leave such pkg-config
implementation and testing for another day.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-10 11:59:52 -08:00
Alexey Neyman
fc2f73fc08 When moving gcc libs, prefer the same directory as libc
If libc ended up in a directory other than /lib, place GCC's libs
in that directory as well.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-09 19:07:21 -08:00
Alexey Neyman
6f226b5efe Merge pull request #637 from stilor/macos-sparc-glibc
SPARC glibc (possibly others) misconfigured on macos
2017-03-09 07:43:44 -08:00
Alexey Neyman
102d25caeb Merge pull request #638 from stilor/macos-linux-2.6.32
Fix unifdef in Linux 2.6.32 on macos
2017-03-09 07:43:26 -08:00
Alexey Neyman
7603e24b4f Fix unifdef in Linux 2.6.32 on macos
... which fails to compile due to incompatible prototype for strlcpy()
which isn't even used.

2.6.33 dropped the prototype, so the patch is n/a for newer kernels.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-09 07:40:54 -08:00
Alexey Neyman
3b658d15d3 Patch failing grep expression in glibc configure
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-08 21:21:36 -08:00
Alexey Neyman
a61f1c5bc2 Check for ggrep/gegrep in configure
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-08 17:06:46 -08:00
Alexey Neyman
55c806a360 Correct warning text to include newer glibc versions
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-08 15:47:48 -08:00
Alexey Neyman
bfcc1e112a Merge pull request #635 from stilor/macos-skip-locales
Skip locales on macos
2017-03-07 08:51:43 -08:00
Alexey Neyman
456cccc0a7 Merge pull request #634 from stilor/macos-canadian
A couple of fixes for canadian samples on macos
2017-03-07 08:51:35 -08:00
Alexey Neyman
ea7f559ef4 Merge pull request #627 from dankm/freebsd
FreeBSD build support
2017-03-07 08:50:43 -08:00
Alexey Neyman
2ef7d36efb Disable format warnings for clang
It picks up gettext string and results in [ERROR] messages from ct-ng
when gettext strings happen inside an error() call.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-07 00:15:29 -08:00
Alexey Neyman
3e94b4f680 Skip building locales on macos, too
--enable-hacker-mode is not sufficient, in 2.25 configure then
fails while checking for sysdeps fragments that apply to a given
configuration, and with that worked around, fails on binutils &
compiler version check.

In brief: if someone wants locales on cygwin/macos, you'd have to
implement cross-localedef (similar to cross-rpcgen) in glibc and
submit it upstream.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-06 23:12:16 -08:00
Alexey Neyman
b3b94e4807 Only add clang-specific flags to clang
I.e., only to CFLAGS_FOR_BUILD if the build is canadian.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-06 18:57:12 -08:00
Alexey Neyman
6cdf0df01b Use CHOST instead of CROSS_PREFIX
The latter does not prevent zlib's configure from overriding 'AR' with
/usr/bin/libtool on macos, and that breaks canadian crosses.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-06 18:57:12 -08:00
Alexey Neyman
272c010874 Merge pull request #633 from stilor/double-dot-breaks-reloc
Sanitize CT_PREFIX_DIR, too
2017-03-06 18:52:42 -08:00
Dan McGregor
a511f73276 Drop the stat64 Cygwin patch
It's not needed now that it's been moved to glibc.sh

Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
2017-03-06 08:56:40 -06:00
Dan McGregor
7f961026c1 Explicitly use gcc for GMP
GMP's configure script tries to be too smart, and if it determines
that it's not cross-compiling it chooses gcc or cc instead of the
wrapper we create at the start of the build.

Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
2017-03-06 08:56:36 -06:00
Alexey Neyman
120792a97d Sanitize CT_PREFIX_DIR, too
Having .. in it breaks GCC's relocatability.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-05 16:22:40 -08:00
Alexey Neyman
489ea6d6df Merge pull request #632 from stilor/fix-glibc-2.22
Backport patches to glibc 2.14+
2017-03-05 09:49:04 -08:00
Alexey Neyman
a82b4461f9 Backport patches to glibc 2.14+
... fix building on ARM.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-04 20:14:51 -08:00
Alexey Neyman
dedfe6905a Merge pull request #630 from stilor/upgrades
Final batch of updates before 1.23
2017-03-03 19:13:26 -08:00
Alexey Neyman
69f95de8b0 Bump kernel versions to latest on kernel.org
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-03 16:58:39 -08:00
Alexey Neyman
6d5ec0c35b Pick up new revision in elf2flt
... and updated cygwin patch.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-03 16:54:14 -08:00
Alexey Neyman
2f24d5cd75 Add libiconv 1.15
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-03 16:50:31 -08:00
Alexey Neyman
865a095d70 Do not pretend we're downloading anything
... when we're actually don't.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-03 16:45:05 -08:00
Alexey Neyman
1e060114a2 Bump newlib 2.5.0 to 20170228
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-03 16:39:55 -08:00
Alexey Neyman
0465c8b6f2 Add binutils 2.28
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-03 16:37:36 -08:00
Dan McGregor
c88621f740 glibc: hide native c++ executable from build
If glibc's configure finds the host c++ executable it assumes that
c++ should be enabled for the build. In case we don't have cross g++
built yet (ie, for headers), this causes the build to fail creating
C++ headers. So hide C++ from the build.

Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
2017-03-01 22:23:39 -06:00
Dan McGregor
a0ab14c4a7 Use BUILD_PREFIX and BUILD_SUFFIX for gcc version
It's possible that "gcc" is not the compiler being used for the build,
so respect BUILD_PREFIX and BUILD_SUFFIX when finding its version.

Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
2017-03-01 22:23:38 -06:00
Dan McGregor
6d1bcaa2f5 Use configure to find the processor count
configure.ac now finds how to count the CPUs in a system. Currently
the getconf method and sysctl methods are supported. Adding more is
easy enough.

Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
2017-03-01 22:22:13 -06:00
Dan McGregor
f2f782dd1c Bring in FreeBSD support
Check for FreeBSD specific issues, it is mostly the same as Darwin.

Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
2017-03-01 22:22:02 -06:00
Alexey Neyman
0b89556019 Merge pull request #628 from stilor/no-install-D
Fix uClibc{,-ng} build on macos
2017-03-01 17:43:35 -08:00