Commit Graph

102 Commits

Author SHA1 Message Date
Chris Packham
b6a4766d22 binutils: Allow gold to be statically linked
gold uses g++ to link which doesn't recognise -all-static. It appears as
if -static should work for both libtool and g++ but for some reason it
doesn't. Remove the restriction that gold can't be included in a static
toolchain. When a static toolchain is requested pass
--with-gold-ldflags=--static to configure. Finally build gold separately
so it does not get the extra_make_flags which may contain -all-static.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2024-07-29 13:12:59 +12:00
Chris Packham
5d2b316093 binutils: Allow gold for more architectures
Based on the configure.ac for binutils it appears that arm, loongarch,
mips, powerpc, s390, sparch and x86 are supported. Expand the list of
architectures that gold is allowed to be used on.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2024-07-29 13:12:59 +12:00
Chris Copeland
f22be3a625 allow plugins and LTO with static toolchains
This reverts commit 0841e2f820 from 2011,
which disabled plugin support in binutils for static toolchains, citing
build system problems. This problem seems to be resolved.

This also reverts part of 45512b003d from
2017, which disabled LTO in gcc for static toolchains, citing problems
on Arch Linux with loading the LTO plugin from a static binary.

Signed-off-by: Chris Copeland <chris@chrisnc.net>
2023-09-24 16:11:41 +13:00
Dries Deschout
61c4ccac5c binutils: add option to build libopcodes for target
It provides functionality to disassemble executable binaries.

Signed-off-by: Dries Deschout <dries.deschout@dodeco.eu>
2022-10-02 13:07:42 +13:00
Chris Packham
29b6e00368 binutils: Add binutils 2.39
https://sourceware.org/pipermail/binutils/2022-August/122246.html

Add binutils 2.39 and regenerate patches.
0008-binutils-2.38-vs.-ppc32-linux-kernel.patch is dropped as it has
been applied upstream. Add a milestone for 2.39 which will be handy for
Loongarch.

Binutils now requires bison >= 3.0.4 to build gprofng for x86/aarch64 so
we build our own bison when the host bison does not meet that
requirement (which appears to be the case on macOS).

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2022-08-14 10:15:17 +12:00
Norbert Lange
392955a293 Fix deterministic binutils option
Versions before 2.26 got removed in fa992b41, together with
CT_BINUTILS_2_23_or_later.
Remove reference to this variable

Signed-off-by: Norbert Lange <nolange79@gmail.com>
2022-01-30 21:08:25 +13:00
Chris Packham
fa992b4191 binutils: Remove obsolete versions
The following versions were marked obsolete in crosstool-ng-1.24.0,
remove them.
- binutils-linaro-2.23.2-2013.10-4
- binutils-linaro-2.24.0-2014.11-2
- binutils-linaro-2.25.0-2015.01-2
- binutils-2.23.2
- binutils-2.24
- binutils-2.25.1

Adjust the milestones now that the old versions have been removed.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
2021-09-21 21:24:31 +12:00
Norbert Lange
7469bc8a73 enable option for binutils deterministic-archives
Signed-off-by: Norbert Lange <nolange79@gmail.com>
2019-10-10 21:39:29 +02:00
Alexey Neyman
1e5c48f190 Require ld to be default when building mingw-w64
Fixes #674.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-12-04 18:49:08 -08:00
Alexey Neyman
893932e90f Add a config option for default RELRO setting
Fixes #656.

Signed-off-by: Alexey Neyman <stilor@att.net>
2018-12-03 20:19:09 -08:00
Alexey Neyman
9fdb93cce0 Make comp.libs use generated templates, too
This allows us to include the component-to-package relation in the
generated kconfig files and make use of that information in the
show-config.sh script.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-11-29 23:44:49 -08:00
Alexey Neyman
af479f1053 Merge elf2flt into binutils.in
It was previously picked up as "tail options" config file, .in.2.
Now we only have a single config file for each component.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-08 10:57:57 -07:00
Alexey Neyman
4000e1def3 Also upgrade non-generated config files
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-08 10:57:56 -07:00
Alexey Neyman
e7deac3aad Switch comp.libs/tools and debug to new framework.
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-08 10:57:56 -07:00
Alexey Neyman
b9af225f58 Implement "milestones" for packages
Also get rid of dependency on GNU sort.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-08 10:56:29 -07:00
Alexey Neyman
5935d586e1 Convert gcc to new framework.
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-08 10:56:29 -07:00
Alexey Neyman
0a654319f9 First stab at gen-versions.sh
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-07-08 10:56:29 -07:00
Alexey Neyman
2f286ce5ab Retire BACKEND stuff
... it is possible to just not set it in the configuration, why force
it? It just increases the complexity in Kconfig.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-04-23 00:24:41 -07:00
Alexey Neyman
a6b6bb7a57 elf2flt: patch has been accepted upstream
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-20 00:18:14 -07: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
0465c8b6f2 Add binutils 2.28
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-03-03 16:37:36 -08:00
Alexey Neyman
973664c906 Forgot to saveconfig the changes for ARM/elf2flt sample
Hence, it is better to enforce via config rules: elf2flt does not
play nice with ld wrapper, when both ld.bfd and ld.gold are present.
Limit the choices to just 'ld.bfd' for flat-format architectures.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-09 21:21:57 -08:00
Alexey Neyman
acd6066bee Pick up upstream fixes
... including zlib fix in configure, needed to build canadian crosses
with elf2flt.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-06 12:42:10 -08:00
Alexey Neyman
d91277e377 Add zlib as a companion lib
with version 1.2.11.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-02-05 14:26:02 -08:00
Alexey Neyman
23aef79883 Declare older versions obsolete.
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-26 12:19:49 -08:00
Alexey Neyman
8dff7012be Check for git presence
... and make the optiont that fetch from Git repositories depend on
the git discovery.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-23 18:25:15 -08:00
Alexey Neyman
fb58775a46 Typo s/CC_BINUTILS/BINUTILS/.
Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-13 21:55:01 -08:00
Alexey Neyman
5e0f715ea7 Add/update/remove Linaro versions.
Linaro GDB 7.2 no longer available from Linaro's website; removed.
Linaro GDB 7.5 had incorrect version (the tarball on linaro.org does
not have a -1 patch level).
Add/update latest versions on each (otherwise supported) branches of
GCC, GDB, binutils, glibc.

Signed-off-by: Alexey Neyman <stilor@att.net>
2017-01-12 23:00:41 -08:00
Alastair D'Silva
92c33fe46d Bump binutils to 2.27
Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
2017-01-06 12:05:16 +11:00
Alastair D'Silva
5f5463053a Remove stray whitespace
Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
2017-01-06 12:05:16 +11:00
Martin Lund
e4a21f634d Update elf2flt default cset 2016-06-14 07:54:52 +02:00
Bryan Hundven
2241a42415 binutils: Add binutils-2.26
Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-02-04 22:55:08 -08:00
Bryan Hundven
72f3b9196a elf2flt: Use openadk version of elf2flt
elf2flt is now hosted on github here:
https://github.com/uclinux-dev/elf2flt

But, until arm support is upstream, we'll switch to Waldemar Brodkorb
version of elf2flt.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-01-13 05:58:28 -08:00
Bryan Hundven
5543f85feb binutils: Remove older versions of binutils
Since older GCC versions have been removed, older versions of binutils
are not needed.

This commit removes these older versions.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2016-01-03 01:18:32 -08:00
Bryan Hundven
514f1546d7 config: Update kconfig for new CT_GetCustom
This commit sort of unifies the kconfigs to handle custom files and
directories.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-12-08 10:55:16 -08:00
Bryan Hundven
c27ab65e45 binutils: Gold conflicts with Static Toolchain
The gold linker cannot currently be built in a static toolchain build.
This may get fixed in a future version of crosstool-NG.

Also, there is a bit of weirdness here. versions of binutils >= 2.21
have GOLD (BINUTILS_HAS_GOLD), but that doesn't mean it should be used.
For instance, if the architecture is not supported.

So with that, we create a new hidden option: BINUTILS_GOLD_SUPPORT
Which in turn depends on BINUTILS_GOLD_SUPPORTS_ARCH, BINUTILS_HAS_GOLD,
and not STATIC_TOOLCHAIN... then replace anything that previously
depended on BINUTILS_HAS_GOLD with our new BINUTILS_GOLD_SUPPORT option.

This closes #210

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-10-20 00:35:36 -07:00
Bryan Hundven
bb9fe9037c Merge pull request #166 from jasmin-j/binutils_custom_version
Remove BINUTILS_CUSTOM from the version choice
2015-09-05 16:28:33 -07:00
Jasmin Jessich
b75d90452e BINUTILS_CUSTOM is no longer part of the binutils version choice, but an
independend configuration to enable BINUTILS_CUSTOM.

Signed-off-by: Jasmin Jessich <jasmin@anw.at>
2015-09-05 21:18:59 +02:00
Jasmin Jessich
ba4cef6651 Adding patches for binutils version 2.25.1 as copy of 2.25.
Support binutils 2.25.1 in configuration.
Note: The patches do apply, but I didn't check the resulting tools.

Signed-off-by: Jasmin Jessich <jasmin@anw.at>
2015-09-01 21:11:34 +02:00
Bryan Hundven
51b342345d config: Add binutils, newlib, and glibc linaro configuration
This commit introduces a "show linaro versions" for newlib, binutils,
and glibc.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-05-02 16:56:25 -07:00
Bryan Hundven
cd47c091ba eglibc: Remove eglibc support
As posted on http://www.eglibc.org/
====================
EGLIBC is no longer developed and such goals are now being addressed
directly in GLIBC.
====================

I'm not interested in maintaining build support for unsupported
software.

Older branches of crosstool-ng continue to have eglibc support.
If you find issues with older branches, I'm always open to pull
requests.

Removing eglibc also frees up glibc cleanup and build optimization.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-01-27 22:43:25 -08:00
Cristoforo Cataldo
ca5003cbe6 binutils: Add Linaro Binutils 2.25-2015.01 and 2.24-2014.11
This commit allows to choose, download and build latest Linaro Binutils:
- binutils-linaro-2.25.0-2015.01-2
- binutils-linaro-2.24.0-2014.11-2

Signed-off-by: Cristoforo Cataldo <cristoforo.cataldo@gmail.com>
2015-01-16 21:52:25 +01:00
Bryan Hundven
b49e233167 binutils: Add binutils-2.25
This also updates the patches from 2.24.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
2015-01-01 16:19:11 -08:00
Yann E. MORIN
aa29ae333c binutils/binutils: 2.23.x and 2.24 are no longer experimental
Besides, at least 2.24 is required for Aarch64 (aka arm64.)

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-09-21 15:09:26 +02:00
Yann E. MORIN"
04a7340d0a binutils/elf2flt: use alternate mirror
The official elf2flt upstream has disapeared.

Switch to a mirror.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2014-05-11 15:43:28 +02:00
Niels Penneman
23e393f2ec binutils/binutils: 2.24 is 2_24_or_later and experimental
Signed-off-by: Niels Penneman <niels@penneman.org>
Message-Id: <8cc1deb25227cd5c33c8.1388742700@i7sb.local>
Patchwork-Id: 306519
2014-01-03 10:49:02 +01:00
Yann E. MORIN"
18913a24a7 binutils/binutils: drop redundant 'select'
No need to 'select' gold and plugins in versions later
than 2.21, since we inherit them with 2_21_or_later.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-12-31 18:03:33 +01:00
Yann E. MORIN"
746ea1647a binutils/binutils: add 2.24
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-12-31 17:58:54 +01:00
Yann E. MORIN"
3c208c6684 binutils/binutils: 2.23.2 is a 2_23_or_later (ie. has gold)
Thus spake Niels:
    This commit adds support for binutils 2.23.2

    http://crosstool-ng.org/hg/crosstool-ng/rev/bc4b36e3df0c

    However, in 'config/binutils/binutils.in <http://binutils.in>' the
    Kconfig option to select this version of binutils does not automatically
    select the symbol 'BINUTILS_2_23_or_later'. This makes gold unavailable
    for the latest version of binutils. I'm not sure whether this is on
    purpose or not, my impression is that you forgot to add the line "select
    BINUTILS_2_23_or_later".

    The problem still persists in the latest version in the repository
    (032ebcc89c96).

Reported-by: Niels Penneman <niels@penneman.org>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-12-30 19:08:37 +01:00
Yann E. MORIN"
afa67897c9 binutils/binutils: add new versions
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2013-10-07 00:00:34 +02:00