With this 3 patches, I was able to build and run an eglibc-based system
on MIPS(el) and ARM targets.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54369 for more information
This bug has a serious effect on Linux/MIPS and SPARC kernel builds.
Add the fix for these versions of gcc: 4.6.0, 4.6.2, 4.6.3, and 4.7.0.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Upstream SVN is currently broken:
http://www.eglibc.org/svn/branches/eglibc-2_15/libc/
LIBC_TRY_CC_OPTION macro is not defined in aclocal.m4.
This patch fix the configure script.
Once upstream branch will be fixed this patch could be reverted.
Related patch (committed to eglibc trunk):
Use autoconf macro for testing compiler options with empty input
http://sourceware.org/ml/libc-alpha/2012-03/msg00816.html
Signed-off-by: Matthieu Crapet <mcrapet@gmail.com>
diff -r 1f6c8e4b2b92 -r d10afc5bcc25
patches/eglibc/2_15/110-aclocal-LIBC_TRY_CC_OPTION.patch
Includes a patch to remove __builtin_expect test:
In eglibc-2.15, the build breaks in configure while testing
for the existance of __builtin_expect. It fails with newer
versions of gcc.
This patch is a modification of an upstream change in glibc
mainline (to be 2.16) to fix the following error:
[CFG ] checking for __builtin_expect... no
[ERROR] configure: error: support for __builtin_expect needed
http://sourceware.org/git/?p=glibc.git;a=commit;h=3857022a761ea7251f8e5c0e45d382ebc3e34cf9
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
[yann.morin.1998@free.fr: coalesce both patches into a single changeset]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
In Ubuntu 11.04 and 11.10, the default options for ld have changed.
--no-copy-dt-needed-entries and --as-needed are now enabled by default, which
causes errors like:
[EXTRA] Checking CLooG/ppl
[DEBUG] ==> Executing: 'make' '-j3' '-s' 'check'
[ALL ] Making check in .
[ALL ] config.status: creating include/cloog/cloog-config.h
[ALL ] config.status: include/cloog/cloog-config.h is unchanged
[ALL ] libtool: link: i686-build_pc-linux-gnu-gcc -Wall -fomit-frame-pointer
-pipe -o cloog cloog.o -L/<snip>/build/static/lib ./.libs/libcloog.a -lm
/<snip>/build/static/lib/libppl_c.a /<snip>/build/static/lib/libpwl.a
/<snip>/build/static/lib/libppl.a /<snip>/build/static/lib/libgmpxx.a
/<snip>/build/static/lib/libgmp.a -lstdc++
[ALL ] /usr/bin/ld: /<snip>/build/static/lib/libppl.a(MIP_Problem.o):
undefined reference to symbol 'sqrt@@GLIBC_2.0'
[ALL ] /usr/bin/ld: note: 'sqrt@@GLIBC_2.0' is defined in DSO
/usr/lib/gcc/i686-linux-gnu/4.6.1/../../../i386-linux-gnu/libm.so so try adding
it to the linker command line
[ALL ] /usr/lib/gcc/i686-linux-gnu/4.6.1/../../../i386-linux-gnu/libm.so:
could not read symbols: Invalid operation
[ALL ] collect2: ld returned 1 exit status
[ERROR] make[2]: *** [cloog] Error 1
[ERROR] make[1]: *** [check-recursive] Error 1
See:
https://wiki.ubuntu.com/NattyNarwhal/ToolchainTransition
This patch fixes these errors by placing '-lm' at the right place on the command
line as libppl requires libm when linking cloog.
Signed-off-by: "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
Building uClibc with libubacktrace requires libgcc_eh.a to be available,
but gcc does not build it unless it is configured to generate shared libs.
However, libgcc_eh.a does not *require* shared libs support, as it is a
static library.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
uClibc-0.9.32 requires libgcc_eh.a (for ARM EABI), but only when libubacktrace
is enabled. As this is not the default, provide a workaround to disable linking
with libgcc_eh.a if libubacktrace is not selected.
This will however still break if uClibc is configured to enable libubacktrace,
but it requires a fix in gcc, and we can take care of that later.
Reported-by: Grant Edwards <grant.b.edwards@gmail.com>
Reported-by: Tor Krill <tor@codeknot.com>
Tested-by: Tor Krill <tor@codeknot.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Some macros declarations were missing, so we duplicate them.
See the added patch description for more information.
----> THIS IS A DIRTY HACK! <----
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Recently, all binutils versions have been renamed after a GPL compliance
issue was found and fixed in binutils;
http://sourceware.org/ml/binutils/2011-08/msg00198.html
Although legacy symlinks have been put in place, we should now use
the new, real version strings.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Recently, all binutils versions have been renamed after a GPL compliance
issue was found and fixed in binutils;
http://sourceware.org/ml/binutils/2011-08/msg00198.html
Old versions are no-longer available since the rename (eg. 2.19 has been
superseeded by 2.19.1, and only 2.19.1a was regenerated).
Remove now-missing versions.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
HOST_OS really is the target OS. Allow setting it for configure
via an environment variable.
libltrace.a should have an index:
Allow ar to be set as an environment variable, and generate
an index in this lib.
Reported-by: "Guylhem Aznar" <crossgcc@guylhem.net>
Signed-off-by: "Titus von Boxberg" <titus@v9g.de>
On OSX stpcpy is a define which is not recognized by gdb's configure.
This results in a compilation error.
Reported-by: "Guylhem Aznar" <crossgcc@guylhem.net>
Signed-off-by: "Titus von Boxberg" <titus@v9g.de>
Add patch files for uClibc-0.9.30:
extra/scripts/install_headers.sh: find must be called with path.
extra/scripts/unifdef.c: getline is declared in <stdio.h>, use different name.
Reported-by: "Guylhem Aznar" <crossgcc@guylhem.net>
Reported-by: "Titus von Boxberg" <titus@v9g.de>
Signed-off-by: "Titus von Boxberg" <titus@v9g.de>
The patchset was obtained by dumping each changeset on the
upstream 0.9.32 branch since the release:
git log v0.9.32..origin/0.9.32 |sed -r -e '/^commit/!d; s/.* //;' |tac
and then creating a patch from each changeset.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Remove a now obsolete patch for glibc-2.9 (a better one has
just been contributed by Esben).
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
When building canadian cross compiler, I have some trouble with
configure defining caddr_t as a macro, like:
#define caddr_t char *
When combined with the types.h where caddr_t is protected together
with daddr_t, the typedef of caddr_t breaks.
This patch works around it by protecting the caddr_t typedef
specifically.
I am uncertain as to the real cause and solution to this :-(
Signed-off-by: Esben Haabendal <eha@dev.doredevelopment.dk>
In OE-lite we use the attached patch for building i686 cross compilers.
Thanks to Khem Raj for original patch :-)
At the same time, remove the corresponding patch that was in
the ports patchset.
CC: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Esben Haabendal <eha@dev.doredevelopment.dk>
[yann.morin.1998@anciens.enib.fr: remove patch from ports]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
This is an obsolete version which is no longer used by any sample (the only
user, the ia64 sample, has been removed).
It also makes the code path a bit complex, with twists just to accomodate
that version. Removing the version will make those twists go away, and
will ease commonalisation of glibc and eglibc in the future (hopefully!).
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
When building ecjx, the compiler for the build system must
be used, not for the compiler for the host system.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
100-powerpc-private_futex.patch no longer applies to eglibc trunk.
This patch was submitted upstream in trunk.
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
Fix building libffi on OABI.
Although it has been marked as 4.3-only, it is stil not fixed,
and also applies to 4.4.x
See:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42289
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
On a Fedora 12 x86_64 build/host box, this file was complaining about
PTRACE_PEEKTEXT being undefined. Adding in the "ptrace.h" include
fixed it.
Signed-off-by: Anthony Foiani <anthony.foiani@gmail.com>
The added code should be conditinal to the target system
being !MIPS, but is based on the host system being !MIPS.
This is plain wrong, and had not been noticed until now
as I never used those binutils versions on MIPS.
See:
http://sourceware.org/ml/crossgcc/2010-08/msg00192.html
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Without this patch, crosstool-ng-built glibc-2.9 prevents
debugging any exeutable with gdb.
gdb says:
[Thread debugging using libthread_db enabled]
find_new_threads_callback: cannot get thread info: generic error
See also https://bugzilla.redhat.com/show_bug.cgi?id=487212
for a discussion of the bug and the solution.
This is the change introduced by revision 734 of MPC repository.
Author: Paul Zimmermann <Paul.Zimmermann@loria.fr>
Revision log: [acos.c] fixed problem with GMP_RNDA (should be MPFR_RNDA, and code was wrong)
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
Add several development libraries to the build of the mingw cross-compiler
to be used on target
Libraries:
PDCurses (port of the ncurses library)
GnuRX (the regex library)
DirectX
OpenGL
Signed-off-by: Bart vdr. Meulen <bartvdrmeulen@gmail.com>
[yann.morin.1998@anciens.enib.fr: don't show DX and RX versions if disabled]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Adds patch for GDB v6.8, v7.0, v7.0.1 to fix canadian
cross building of GDB for powerpc.
See original patch information here:
http://sources.redhat.com/bugzilla/show_bug.cgi?id=9638
The patch is not required for GDB v7.1 (fixed).
Tested in canadian combination using mingw32 and powerpc toolchains.
Tested to not affect normal cross building of GDB for powerpc target.
Signed-off-by: Martin Lund <mgl@doredevelopment.dk>
The configure script correctly detects libsupc++ and libiberty, but in
the linker stage it tries to link in both libraries without taking care
of the test result.
Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
[yann.morin.1998@anciens.enib.fr: rework patch depth to be -p1]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
For uClibc, the name of the Blackfin architecture is 'bfin'. Actually,
the naming of the architecture is quite messy: for toolchain tuples
and uClibc, it's bfin, but for the kernel, it's blackfin. We've
arbitraly choosen to name it "blackfin" in Crosstool-NG.
Add Blackfin-related uClibc patch to fix a build failure related to
fork() being used in unistd/daemon.c.
Yann E. MORIN:
Apply the patch to the kernel/linux build script to use 'linux'
in the noMMU tuples. See:
http://sourceware.org/ml/crossgcc/2010-04/msg00010.html
Disable unaligned access at least for mcpu32, m68010 and m68020.
These processors certainly do not like unaligned accesses.
Signed-off-by: Remy Bohmer <linux@bohmer.net>
Some patches from 0.9.30.1 now applied upstream. The reminder have
been only slightly modified to apply cleanly to the new base.
Signed-off-by: Joachim Nilsson <jocke@vmlinux.org>
Pack netinet structs to be possible to use for creating
IP frames on big-endian targets.
Signed-off-by: Joachim Nilsson <jocke@vmlinux.org>
[yann.morin.1998@anciens.enib.fr: removed getline patch, already in]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
This is a set of patches for binutils-2.20 that have been "ported", or rather
shamelessly stolen, from the OpenEmbedded project:
http://cgit.openembedded.org/cgit.cgi/openembedded/tree/recipes/binutils/binutils-2.20
Tried and tested on Arm (big-endian Xscale, and little-endian i.MX27) with GCC 4.4.2
Signed-off-by: Joachim Nilsson <jocke@vmlinux.org>
On x86, gcc-4.4.x breaks when building for target armeb.
It is still required to configure with: --disable-shared
Note: if building on an x86_64, there is no need to pass --disable-shared
From this version of ltrace the maintainer has removed support for
GNU Autotools, so the patch sets needed to be reworked.
Included is the latest Debian patch, by the Debian ltrace maintainer
Juan Cespedes <cespedes@debian.org>, the OpenEmbedded patches for cross
compiling, by Khem Raj <raj.khem@gmail.com> and a further set of patches
by Joachim Nilsson <jocke@vmlinux.org> for crosstool-NG.
Here's a couple of patches to get strace 4.5.19 to configure and build
properly with the latest kernel headers. Not pretty, but hopefully
enough while we wait for 4.5.20 to be released.
With the current strace-4.5.19 patches I failed to get the configure
script running even on my host environment. Also, when cross building
the configure script needs to look for the proper system headers to be
able to properly set HAVE_LINUX_NETLINK_H. Otherwise you get:
[EXTRA] Building strace
[ERROR] /home/jocke/x-tools/targets/src/strace-4.5.19/net.c:976:
error: field 'nl' has incomplete type
[ERROR] make[2]: *** [net.o] Error 1
[ERROR] make[1]: *** [all] Error 2
The fix was simple, backport a change set from the git[1] tree and run
autoreconf to update the configure script.
[1] - http://strace.git.sourceforge.net/git/gitweb.cgi?p=strace/strace;a=commit;h=f0df31e71a58c6e79ba77c1a9d84b2f38d44bec7
Woo... It seems the glibc guys finally decided that tarballs
were not deprecated, in fact.
The patchset was vampirised from Gentoo (kudos, guys!), and
applies to glibc+ports, so that's why it's been added as a
patchset against ports, not against glibc.
Fix filenames in patch files for binutils-2.20.
Some patch files were only usable with patch argument '-p0'.
Fix the diff context to match 2.20 release.
Signed-off-by: Frederic Roussel <fr.frasc@gmail.com>
While trying to build a toolchain with ct-ng 1.5.0,
arm-unknown-linux-uclibcgnueabi target,
I get the following error:
[INFO ] Installing C library headers
[EXTRA] Copying sources to build dir
[EXTRA] Applying configuration
[EXTRA] Building headers
[EXTRA] Installing headers
[ERROR] extra/scripts/unifdef.c:209: error: conflicting types for 'getline'
[ERROR] make[2]: *** [extra/scripts/unifdef] Error 1
[ERROR] Build failed in step 'Installing C library headers'
The following patch solves the problem.
(It's a backport of this uClibc commit:
http://git.uclibc.org/uClibc/commit/?id=49e81cada73616864b9b31df0aeb6961c30f5a6e
)
[--SNIP from another mail--]
AFAIK this is a problem since glibc 2.10.