Commit Graph

2510 Commits

Author SHA1 Message Date
Yann E. MORIN"
e4d610f905 binutils/binutils: add support for plugins
Add an option to enable plugins support in binutils.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-02 13:56:05 +01:00
Yann E. MORIN"
a0d9851dd0 binutils/binutils: add option to enable gold
gold is a new, optimised, multi-threaded linker with support
for plugins.

Add support for gold starting with binutils 2.21. Although 2.20
also had gold, the configure flags have changed, and supporting
2.20 would be a mess in the code.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-28 00:11:33 +01:00
Yann E. MORIN"
aac53cf32c binutils/binutils: add BINUTILS_2_21_or_later blind option
Add BINUTILS_2_21_or_later blind option. It will be used to add
conditional support for building 'gold' on versions that have it.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-28 19:07:21 +01:00
Yann E. MORIN"
b0c69b3cdc complibs/libelf: build with -fPIC
libelf is used by gcc to build the lto-plugin used
by binutils' gold to perform LTO.

This requires that files in libelf be compiled with
-fPIC to generate a proper .so.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-29 02:34:18 +01:00
Yann E. MORIN"
e0c067dc3e debug/gdb: fix for psim build failure due to -lz in gdb-7.2.
Signed-off-by: "Horst Kronstorfer" <horst.kronstorfer@aon.at>
[yann.morin.1998@anciens.enib.fr: fix space-damage]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-03 19:07:34 +01:00
Yann E. MORIN"
8d821ce49a samples: update after libc versions renaming
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-02 22:32:04 +01:00
Bryan Hundven
7c768b3ca1 libc/eglibc: normalize eglibc hidden version names
In the previous patches to glibc and uclibc, we standardized on hidden
version names:

LIBC_<LIBC NAME>_V_<VERSION>

This patch updates EGLIBC to be the same for consistency to:

LIBC_EGLIBC_V_<VERSION>

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2011-01-02 22:33:04 +01:00
Bryan Hundven
6bd24a2c73 libc/uClibc: normalize uclibc hidden version names
Hidden version names for uClibc conflicted:

LIBC_UCLIBC_V_0_9_30_2
LIBC_V_0_9_30_1

name them constantly as:
LIBC_UCLIBC_V_<version>

Also update the build script where we use snapshots by version or snapshots by date.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2011-01-03 01:15:30 +01:00
Bryan Hundven
3ee9e2e9a1 libc/glibc: normalize glibc hidden version names
Hidden version names for glibc conflicted:

LIBC_GLIBC_V_2.10.1
LIBC_V_2.10

name them constantly as:
LIBC_GLIBC_V_<version>

Reported-by: Esben Haabendal <eha@doredevelopment.dk>
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2011-01-02 22:32:48 +01:00
Yann E. MORIN"
88c8168763 internals: properly remove all docs
Part of the installed doc was not removed (if configured to).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-29 19:41:17 +01:00
Heiko Zuerker
4e8ab6eefd libc/glibc: add 2.12.1 and 2.12.2
Signed-off-by: Heiko Zuerker <heiko@zuerker.org>
2010-12-29 19:34:53 +01:00
Chih-Min Chao
fa32e39096 libc/eglibc: remove obsolete patch
That patch has been applied upstream as r8690.

Signed-off-by: Chih-Min Chao <cmchao@gmail.com>
2010-12-29 12:40:36 +01:00
Bryan Hundven
a98df486c2 cc/gcc: Add gcc 4.5.2
Add gcc 4.5.2.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2010-12-29 02:00:21 +01:00
Bryan Hundven
f4998ff94a patches/eglibc: remove 100-powerpc-private_futex.patch from trunk
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>
2010-12-22 22:42:28 +01:00
Bryan Hundven
889eb6df62 libc/eglibc: fix installed scripts
Like rev 2002, eglibc installs some bash scripts, but use the path to the
buildtool bash as the interpreter (on the shebang line). This is only a
symlink to the real bash, and thus is not available at runtime.

Fix that by assuming that shell on the target *will* be /bin/bash.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2010-12-22 22:42:11 +01:00
Yann E. MORIN"
908f4aeab9 kernel/linux: Cleanup unneeded files from 'headers_check' and 'headers_install'
headers_install makes  .install and ..install.cmd files.
headers_check makes    .check   and ..check.cmd   files.
Remove these files uncoditionaly after installing (and checking) header files
into the sys-root.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
[Yann E. MORIN: reformat the patch, move hunk out of headers_check conditional]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-22 22:41:51 +01:00
Yann E. MORIN"
6ef2caf1d3 docs: overview.txt is gone, point to the new documentation
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-22 00:34:56 +01:00
Bryan Hundven
fa62fd9e1e config/binutils: Add binutils 2.21
Currently depends on EXPERIMENTAL, as it is not well tested and I'm
not sure if/which patches need to be ported forward from 2.20.1.
2010-12-14 11:49:18 -08:00
Yann E. MORIN"
6cdc8c6d7e config: fix the patch fallbacks methods
Reported-by: Heiko Zuerker <heiko@zuerker.org>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-18 23:08:12 +01:00
Yann E. MORIN"
f63dfa3b31 scripts: add doc for patch-rework
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-19 11:57:08 +01:00
Yann E. MORIN"
96559f4610 scripts: update config.{sub,guess}
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-18 23:29:46 +01:00
Yann E. MORIN"
80cda526e0 kernel/linux: fix help for 2.6.35.10
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-18 21:35:09 +01:00
Yann E. MORIN"
b5be8adc96 kernel/linux: bump to latest versions
- add 2.6.36.2.
- bump to 2.6.35.10, which is a new longterm.
- bump to 2.6.32.27 and 2.6.27.57, the two old longterms.
- update longterm descriptions.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-17 23:48:15 +01:00
Kalle Kankare
461ca92d5d complibs/libelf: use host compiler
It appears, that the configure scripts of libelf versions 0.8.13 and
0.8.12 do not honour the --host option. The compiler must be given as an
environment variable or the process will use the command "gcc" as the
compiler.

It seems that this is already done in the function do_libelf_target in
scripts/build/companion_libs/libelf.sh, but not in function do_libelf.
2010-12-03 12:36:44 +01:00
Yann E. MORIN"
ccbfef2376 libc: hide no-thread for those C libraries that do not support it
Building non-threaded glibc has been unsupported for a long time, now:
  http://sourceware.org/ml/libc-alpha/2005-08/msg00091.html

As eglibc is a spin-off of glibc: ditto.

So do not offer that possibility in the menuconfig.
Thanks to Thomas Petazzoni for spotting, and helping to solve, the issue!

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-12 22:18:52 +01:00
Yann E. MORIN"
a9966d1e1c internals: fix stripping
Do not try to strip any script.

Previously, only shell scripts were ignored, but when the Java frontend
is installed, it also installs a Python script. So we have to ignore
any "script text executable", and not restrict it to "shell script text
executable".

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-12 20:47:40 +01:00
Yann E. MORIN"
2bf2991ebd scripts/internals: strip all executables
Using a list of files to strip misses a few of them.
Now, scan appropriate directories, and strip all ELF
executables and shared objects.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-05 16:27:06 +01:00
Bryan Hundven"
1ad4399072 cc/gcc: build bare-metal gcc statically
- add a new parameter to do_cc_core: build_statically=[yes|no]
- pass build_statically=yes in core_pass_2 when doing bare_metal
- fix handling the static / static libstdc++ / static complibs stuff
- add a commment to keep both blocks (in core and final) in sync

Signed-off-by: "Bryan Hundven" <bryanhundven@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-09 18:55:59 +01:00
Bryan Hundven"
118a6a5f98 cc/gcc: build final gcc statically
If the global static option is set, then build the final gcc statically.

Signed-off-by: "Bryan Hundven" <bryanhundven@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-09 18:55:42 +01:00
Bryan Hundven"
bf3c89ebb5 binutils/binutils: build statically
If the global static option is set, then build binutils statically.

Signed-off-by: "Bryan Hundven" <bryanhundven@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-09 18:55:33 +01:00
Bryan Hundven"
c10e06ed81 debug/gdb: global static forces static cross-gdb
If the global static option is set, then build host binutils statically.

Signed-off-by: "Bryan Hundven" <bryanhundven@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-09 18:55:15 +01:00
Bryan Hundven"
fb70d71c9c complibs: do not prompt for shared libs if static selected
If the global static toolchain option is selected, then do not
prompt the user whether to build shared companion libraries.

Signed-off-by: "Bryan Hundven" <bryanhundven@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-09 18:54:46 +01:00
Bryan Hundven"
264207aa10 config: add option to build statically linked toolchain
Add a config option to statically build the host tools.
Impacted tools can use that option to decide wether to build
statically or shared.

For now, no tool uses it, but they'll be added one at a time
in the next commits.

Signed-off-by: "Bryan Hundven" <bryanhundven@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-12-09 18:54:37 +01:00
Yann E. MORIN"
63750f8841 complibs/cloog: fix linking with libstdc++
This rules out 0.15.5 and previous versions, that did not
have this option, so remove them from the list. Anyway,
they were marked 'OBSOLETE', so it's not a big loss...

[Yann E. MORIN: remove obsolete versions]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-29 00:50:21 +01:00
Yann E. MORIN"
28c5ee8baf scripts: recover on partially downloaded files
Download to an intermediate temp file, and rename it to its final
name only of download succeeds.

This catches both a failed download, and also the case where the user
interrupts the download. Thus, the a partial download gets discarded,
and we no longer try to extract a partial tarball, which we would
previously have done.

Suggested by Thomas PETAZZONI.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-29 00:26:39 +01:00
Yann E. MORIN"
af6dd3f3f0 scripts: call curl and wget in sequence
It can happen, in some circumpstances, than one can succeed where
the other would fail. Those cases involves convoluted enterprise
networks with proxies playing tricks.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-16 17:49:15 +01:00
Yann E. MORIN"
9dbbc8e5f6 scripts: remove aria2c as downloader, retain only curl and wget
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-16 10:00:27 +01:00
Yann E. MORIN"
25953c386f cc/gcc: fix pr42289: incorrect alignment on OABI
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>
2010-11-13 23:26:21 +01:00
Yann E. MORIN"
0bd44044a8 cc/gcc: 4.4.5, add arm-softfloat-libgcc patch from buildroot
Reported-by: M P <buserror@gmail.com>
[Yann E. MORIN: add the patch to other 4.4.x]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-13 14:23:36 +01:00
Yann E. MORIN"
041d448426 kernel/linux: add latest versions
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-24 23:10:55 +01:00
Yann E. MORIN"
f1c391e1d9 complibs/CLooG: only install the libraries
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-10-18 16:51:01 +02:00
Yann E. MORIN"
e2c7015edb scripts/xldd: try to handle RPATH tags
The RPATH tags allow a binary to tell the dynamic linker what
directories to search for libraries. The so-added paths are
searched into before any other paths.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-24 21:04:55 +01:00
Yann E. MORIN"
1a03e119de scripts/xldd: better handle the origin of the library
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-23 21:36:01 +01:00
Yann E. MORIN"
7d296c4f68 scripts/xldd: avoid reporting duplicates
Once a NEEDED dependency has been solved, do not report it
if other dependencies depend on it.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-24 21:01:46 +01:00
Yann E. MORIN"
cd9a56ff50 script/xldd: add debug traces
Add debug traces to help understand how xldd finds the
libraries, what directories it scans, in which order...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-23 21:35:45 +01:00
Yann E. MORIN"
6960ddb376 scripts/xldd: parse /etc/ld.so.conf
Scan /etc/ld.so.conf for paths to search for libraries.
Also follow include directives in there.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-23 21:35:41 +01:00
Yann E. MORIN"
2e1dcdf8d4 scripts/xldd: better find sysroot with old gcc
Only starting with 4.4 does gcc have a -print-sysroot option.
For 4.3 or before, we have to play some tricks:
- ask gcc where libc.so is,
  (we expect it in ${sysroot}/usr/lib/libc.so)
- trim /usr/lib/libc.so from the result

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-23 21:35:28 +01:00
Yann E. MORIN"
70309ce671 scripts/xldd: report appropriate load address for 32- or 64-bit
For 32-bit target systems, report 4-byte (8-xdigit) wide adresses,
and for 64-bit, report 8-byte (16-xdigit) wide adresses.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-23 21:35:15 +01:00
Yann E. MORIN"
b98f8fe48f scripts/xldd: stop at first match
Break the library search loop as soon as a match is found.
Previously, if a library was present in different places,
then the last occurence would be returned, when the first
one would have been used at runtime.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-23 21:35:10 +01:00
Yann E. MORIN"
dc4498ca35 scripts/xldd: fix space-damage
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2010-11-23 21:35:01 +01:00