Commit Graph

66 Commits

Author SHA1 Message Date
Bernd Kuhls
f3a81cc068 {toolchain, linux-headers}: add support for 6.6 headers
And add (and default to) 6.6 to linux-headers.

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-11-01 19:22:47 +01:00
Bernd Kuhls
18d21c9cfc {toolchain, linux-headers}: add support for 6.5 headers
And add (and default to) 6.5 to linux-headers.

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-09-27 21:06:02 +02:00
Vincent Fazio
eed1670d8a toolchain/toolchain-external: add BR2_ARCH_NEEDS_GCC_AT_LEAST_X guards
Previously, it was possible to select an external toolchain that did not
support the GCC arch tuning the user had selected. This is problematic
because it can lead to confusing error messages during builds [0].

Now, external toolchain selections will be filtered to only those that
support the required GCC version specified by the target arch tuning.

Note: this patch does not touch the Bootlin toolchain config file as it
is generated by a script.

Additional note: there is "soft" support for toolchains prior to GCC 4.8
but there are no accompanying BR2_ARCH_NEEDS_GCC_AT_LEAST_X symbols.
Instead of adding those, just use BR2_ARCH_NEEDS_GCC_AT_LEAST_4_8 which
is the minimum GCC version with claimed support [1].

[0]: https://lists.buildroot.org/pipermail/buildroot/2023-August/671877.html
[1]: https://buildroot.org/downloads/manual/manual.html#requirement-mandatory

Signed-off-by: Vincent Fazio <vfazio@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2023-08-13 17:51:28 +02:00
Romain Naour
dfbd1aae23 toolchain/toolchain-external/toolchain-external-custom: add gcc 13 version selection
This patch allows to use an external toolchain based on gcc 13.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-07-28 22:04:49 +02:00
Bernd Kuhls
32230a52aa {toolchain, linux-headers}: add support for 6.4 headers
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-07-06 10:27:46 +02:00
Bagas Sanjaya
e418a2c06a toolchain-external-custom: Describe BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX
"Toolchain prefix" option apparently doesn't have any help describing
it, which causes confusion when using external toolchain. Leaving this
option at default prefix name ("$(ARCH)-linux") when external toolchain
components are called with different prefix (e.g.
"$(ARCH)-unknown-linux-gnu") may cause build failure unless the prefix
symlink is already in place (e.g. when using Buildroot-generated
toolchain as external toolchain).

Describe the option to clarify.

Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2023-05-24 21:14:21 +02:00
Bernd Kuhls
eadff4efe9 {toolchain, linux-headers}: add support for 6.3 headers
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-04-30 22:42:00 +02:00
Bernd Kuhls
b73d16cdcf {toolchain, linux-headers}: add support for 6.2 headers
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-04-30 22:41:39 +02:00
Bernd Kuhls
79bb1ab519 {toolchain, linux-headers}: add support for 6.1 headers
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-12-18 14:56:37 +01:00
Peter Korsgaard
4613b7aaf0 {toolchain, linux-headers}: add support for 6.0 headers
And add (and default to) 6.0 to linux-headers.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-10-06 19:53:40 +02:00
Peter Korsgaard
0551f23b05 {toolchain, linux-headers}: add support for 5.19 headers
And add (and default to) 5.19.13 to linux-headers.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-10-06 19:53:35 +02:00
Peter Korsgaard
db678645eb {toolchain, linux-headers}: add support for 5.18 headers
Do not add a preconfigured 5.18.x version to linux-headers as 5.18.x is
already EOL.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-10-06 19:53:31 +02:00
Thomas Petazzoni
9f81decf46 toolchain/toolchain-external/toolchain-external-custom: remove mentions of eglibc
eglibc is a thing of the past, stop mentioning it.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2022-07-27 11:11:19 +02:00
Arnout Vandecappelle (Essensium/Mind)
90932b407c toolchain: invert glibc <-> !static dependency
Currently, glibc depends on !BR2_STATIC_LIBS in all the toolchain
variants.

However, for some architectures, glibc is the only supported libc. In
commit 3b3105328e ("Config.in: only
allow BR2_STATIC_LIBS on supported libc/arch"), we implemented a fix
to avoid configurations were BR2_STATIC_LIBS=y with an architecture
already supported by glibc, because these configurations are
impossible. This commit 3b3105328e
prevents from selecting BR2_STATIC_LIBS=y when the C library used for
the internal toolchain backend is glibc.

However, it introduces a discrepency between how this topic is handled
for internal and external toolchains:

 - For internal toolchains, we prevent BR2_STATIC_LIBS=y if glibc is
   chosen.

 - For external toolchains, we allow BR2_STATIC_LIBS=y in all cases,
   and it's each glibc toolchain that has !BR2_STATIC_LIBS

This commit addresses this discrepency by preventing BR2_STATIC_LIBS=y
if glibc is chosen in all cases.

Thanks to this, we can remove the !BR2_STATIC_LIBS dependency on both
the glibc package, and all glibc external toolchains.

Fixes: https://bugs.busybox.net/show_bug.cgi?id=14256

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
[Thomas: update to master, fix the gen-bootlin-toolchains script, add
a comment in the static/shared choice to indicate that static is
supported only with uclibc or musl]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2022-07-27 11:11:19 +02:00
Peter Korsgaard
2b134f9549 {toolchain, linux-headers}: add support for 5.17.x headers
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2022-05-13 18:32:13 +02:00
Florian Fainelli
6063f2378f toolchain/toolchain-external/toolchain-external-custom: add gcc 12 version selection
This patch allows to use an external toolchain based on gcc 12.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-04-27 20:50:17 +02:00
James Hilliard
d9a9d4df2b toolchain-external-custom: error if BR2_TOOLCHAIN_EXTERNAL_URL is not set
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
[Arnout: add BR_BUILDING condition]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-04-04 20:35:45 +02:00
Michael Walle
85459426d9 {linux, linux-headers}: add version 5.16
Signed-off-by: Michael Walle <michael@walle.cc>
[Peter: Keep default at 5.15.x for 2022.02]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-01-10 23:54:16 +01:00
Michael Walle
73a5501141 {linux, linux-headers}: add version 5.15
Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-11-03 22:12:36 +01:00
Michael Walle
47523da623 {linux, linux-headers}: add version 5.14
Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-09-11 15:31:04 +02:00
Michael Walle
28983ccc03 {linux, linux-headers}: add version 5.13
Signed-off-by: Michael Walle <michael@walle.cc>
Reviewed-by: Heiko Thiery <heiko.thiery@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-06-29 21:22:28 +02:00
Romain Naour
cbaabbd42f toolchain/toolchain-external/toolchain-external-custom: add gcc 11 version selection
This patch allows to use an external toolchain based on gcc 11.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-06-20 18:59:28 +02:00
Michael Walle
528b310cdb {linux, linux-headers}: add version 5.12
Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-04-26 21:18:43 +02:00
Michael Walle
d2fe9c6415 {linux, linux-headers}: add version 5.11
Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-02-16 21:20:01 +01:00
Michael Walle
aa769e0431 {linux, linux-headers}: add version 5.10
Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-12-14 16:03:08 +01:00
Michael Walle
8e517479d8 {linux, linux-headers}: add version 5.9
Signed-off-by: Michael Walle <michael@walle.cc>
Tested-by: Bilal Wasim <bilal.wasim@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-10-12 22:36:28 +02:00
Peter Korsgaard
775b81b270 {linux, linux-headers}: add version 5.8
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-09-05 22:02:16 +02:00
Romain Naour
1bc9166ff3 toolchain/toolchain-external/toolchain-external-custom: add gcc 10 version selection
This patch allows to use custom external toolchains based on gcc 10.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2020-06-24 21:57:43 +02:00
Michael Walle
7592cc4ad2 {linux, linux-headers}: add version 5.7
Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2020-06-05 22:52:21 +02:00
Bernd Kuhls
d1f002c42e {linux, linux-headers}: add version 5.6
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[Peter: move .. or later text to 5.6]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-04-02 21:05:10 +02:00
Jagan Teki
bb094c0110 {linux, linux-headers}: add version 5.5
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
[yann.morin.1998@free.fr:
  - bump to 5.5.13
  - rebase on top of master
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2020-03-29 19:14:59 +02:00
Yann E. MORIN
bd99af3742 toolchain/external: fix SSP help texts for custom toolchains
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2020-02-20 23:11:12 +01:00
Thomas Petazzoni
522a851be7 toolchain/toolchain-external/toolchain-external-custom: add option to indicate SSP_STRONG support
This commit adds a user-visible option
BR2_TOOLCHAIN_EXTERNAL_HAS_SSP_STRONG, which will allow the user to
indicate if the custom external toolchain does or does not have
SSP_STRONG support. Depending on this, the user will be able to use
(or not) the BR2_SSP_STRONG option.

Checking if what the user said is true or not about this is already
done in toolchain/toolchain-external/pkg-toolchain-external.mk:

        $$(Q)$$(call check_toolchain_ssp,$$(TOOLCHAIN_EXTERNAL_CC),$(BR2_SSP_OPTION))

If the user selects BR2_SSP_STRONG, this will check if
-fstack-protector-strong is really supported.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2020-02-20 22:58:03 +01:00
Vincent Fazio
338e62bd5d toolchain: allow using custom headers newer than latest known ones
When Buildroot is released, it knows up to a certain kernel header
version, and no later. However, it is possible that an external
toolchain will be used, that uses headers newer than the latest version
Buildroot knows about.

This may also happen when testing a development, an rc-class, or a newly
released kernel, either in an external toolchain, or with an internal
toolchain with custom headers (same-as-kernel, custom version, custom
git, custom tarball).

In the current state, Buildroot would refuse to use such toolchains,
because the test is for strict equality.

We'd like to make that situation possible, but we also want the user not
to be lenient at the same time, and select the right headers version
when it is known.

So, we add a new Kconfig blind option that the latest kernel headers
version selects. This options is then used to decide whether we do a
strict or loose check of the kernel headers.

Suggested-by: Aaron Sierra <asierra@xes-inc.com>
Signed-off-by: Vincent Fazio <vfazio@xes-inc.com>
[yann.morin.1998@free.fr:
  - only do a loose check for the latest version
  - expand commit log
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Tested-by: Vincent Fazio <vfazio@xes-inc.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2020-02-08 20:25:10 +01:00
Arnout Vandecappelle (Essensium/Mind)
a4ba0b7bf1 toolchain/toolchain-external: warn for untested GCC/kernel version
The oldest toolchain we test in the autobuilders is the Sourcery ARM
toolchain which is GCC 4.8 and kernel headers 3.13. Therefore, it is
likely that we're missing the required _AT_LEAST dependencies to exclude
packages that don't build with older GCC/headers.

Add a comment to the custom external toolchain that warns when an
untested GCC or kernel headers version is selected.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2020-02-02 08:53:25 +01:00
Marcus Folkesson
9e000606c3 {linux, linux-headers}: add version 5.4
Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2019-12-02 11:47:43 +01:00
Matt Weber
25a5b9665d toolchain: expose BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS for all toolchain types
This patch extends the "copy extra GCC libraries to target" feature to
also work for internal toolchains. The variable has been renamed to be
BR2_TOOLCHAIN_EXTRA_LIBS and the configuration option moved under the
generic toolchain package. For external toolchains, the step that does
the copy is still in the copy_toolchain_lib_root() helper which copies
from the sysroot to the target.  For the internal toolchain, the host
gcc-final package does a post install hook to copy the libraries from
the toolchain build folders to both the sysroot and target(!static).

Examples where this can be useful is for adding debug libraries to the
target like the GCC libsanitizer (libasan/liblsan/...).

Cc: Markus Mayer <mmayer@broadcom.com>
Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2019-10-28 23:09:33 +01:00
Eric Le Bihan
aa12b06b60 toolchain/toolchain-external: add support for D language
Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-10-25 19:27:44 +02:00
James Hilliard
d899562f4f {linux, linux-headers}: bump to version 5.3.1
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-09-28 22:44:50 +02:00
Thomas Petazzoni
b3ba26150d toolchain/toolchain-external/toolchain-external-custom: be more flexible on gcc version
The custom external toolchain logic asks the user to specify which gcc
version is provided by the toolchain. The list of gcc versions given
by Buildroot is restricted depending on the selected CPU architecture
using the BR2_ARCH_NEEDS_GCC_AT_LEAST_xyz config options.

However, these config options generally indicate in which upstream gcc
version the support for the selected architecture was introduced. But
in practice, it is possible that an external toolchain uses some
non-upstream gcc code, providing support for a CPU architecture before
it was merged in upstream gcc.

A specific example is that there are pre-built external toolchains for
the C-SKY CPU architecture that are based on gcc 6.x, even if the
support for it was only added in upstream gcc 9.x.

Due to the BR2_ARCH_NEEDS_GCC_AT_LEAST_xyz options, only gcc >= 9.x
can be selected for C-SKY, preventing the use of such a custom
toolchain.

In addition, those dependencies are in fact not really needed:
Buildroot will check that the gcc version provided matches what the
user declared in the configuration. And if the gcc provided by the
toolchain does support that CPU architecture, then well, so be it,
there's no need to restrict the gcc version selected.

So we simply get rid of these dependencies on
BR2_ARCH_NEEDS_GCC_AT_LEAST_xyz, and also don't use them anymore to
chose a default value for the gcc version.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Yann E. MORIN <yann.morin.1998@free.fr>
Acked-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2019-08-03 16:19:08 +02:00
Serhii Sakhno
48491aa0a4 {linux, linux-headers}: bump to version 5.2
Signed-off-by: Serhii Sakhno <sergei.sakhno@gmail.com>
[Peter: default to 5.2.x kernel headers]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2019-07-14 12:38:55 +02:00
Romain Naour
910c7f2395 toolchain-external: add gcc 9 entry
This patch allows to use an external toolchain based on gcc 9.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-06-22 21:42:03 +02:00
Clément Leger
77d79bf586 toolchain/toolchain-external-custom: support Linux 5.1
Signed-off-by: Clement Leger <clement.leger@kalray.eu>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2019-04-07 09:10:52 +02:00
Ed Blake
25ae113445 toolchain-external: introduce BR2_TOOLCHAIN_EXTERNAL_OPENMP
Add a new option for custom external toolchains to enable OpenMP
support.

Signed-off-by: Ed Blake <ed.blake@sondrel.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-03-28 19:49:39 +01:00
Joel Stanley
66251daaa3 toolchain/toolchain-external-custom: support Linux 5.0 kernel headers
Signed-off-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-03-26 18:56:13 +01:00
Thomas Petazzoni
35f53b0588 toolchain/toolchain-external-custom: support Linux 4.20 kernel headers
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2019-01-01 22:57:21 +01:00
Baruch Siach
561770fd03 toolchain: add 4.19.x choice for headers
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-11-22 17:20:30 +01:00
Romain Naour
f0dc4fe80f toolchain-external: add fortran support option for custom external toolchains
If a custom external toolchain is used, we can't enable the fortran
support. Add a new option for that.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-10-20 20:27:45 +02:00
Bernd Kuhls
c59c6c162e toolchain: add 4.18.x choice for headers
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 7f62d8122b)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-09-06 21:17:09 +02:00
Fabio Estevam
77fd06a1d6 toolchain: add 4.17.x choice for headers
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-06-04 22:44:42 +02:00