Tested with OP-TEE [1] using GCC 8.2 2019.01 for both AArch32 (QEMU Armv7-A, gcc-arm-8.2-2019.01-x86_64-arm-linux-gnueabihf [2]) and with AArch64 (QEMU Armv8-A, gcc-arm-8.2-2019.01-x86_64-aarch64-linux-gnu [2]) which has gotten TUI mode re-enabled [3].
[1] https://github.com/OP-TEE [2] https://developer.arm.com/open-source/gnu-toolchain/gnu-a/downloads [3] https://bugs.linaro.org/show_bug.cgi?id=4130
Signed-off-by: Joakim Bech joakim.bech@linaro.org --- package/linux-headers/Config.in.host | 4 ++++ toolchain/Config.in | 5 +++++ .../toolchain-external-arm-aarch64/Config.in | 4 ++-- .../toolchain-external/toolchain-external-arm-arm/Config.in | 4 ++-- .../toolchain-external-custom/Config.in.options | 4 ++++ 5 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/package/linux-headers/Config.in.host b/package/linux-headers/Config.in.host index a6055e75b9..fd0cef8b21 100644 --- a/package/linux-headers/Config.in.host +++ b/package/linux-headers/Config.in.host @@ -51,6 +51,10 @@ config BR2_KERNEL_HEADERS_4_20 bool "Linux 4.20.x kernel headers" select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20
+config BR2_KERNEL_HEADERS_5_00 + bool "Linux 5.00.x kernel headers" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_00 + config BR2_KERNEL_HEADERS_VERSION bool "Manually specified Linux version" help diff --git a/toolchain/Config.in b/toolchain/Config.in index baf192c936..fd197f2407 100644 --- a/toolchain/Config.in +++ b/toolchain/Config.in @@ -374,10 +374,15 @@ config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 bool select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19
+config BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_00 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 + # This order guarantees that the highest version is set, as kconfig # stops affecting a value on the first matching default. config BR2_TOOLCHAIN_HEADERS_AT_LEAST string + default "5.00" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_00 default "4.20" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 default "4.19" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19 default "4.18" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18 diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in b/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in index fbb5e025e8..279cb88f31 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in +++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in @@ -1,5 +1,5 @@ config BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64 - bool "Arm AArch64 2018.11" + bool "Arm AArch64 2019.01" depends on BR2_aarch64 depends on BR2_HOSTARCH = "x86_64" depends on !BR2_STATIC_LIBS @@ -7,7 +7,7 @@ config BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64 select BR2_TOOLCHAIN_HAS_SSP select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_NATIVE_RPC - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_00 select BR2_TOOLCHAIN_GCC_AT_LEAST_8 select BR2_TOOLCHAIN_HAS_FORTRAN help diff --git a/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in b/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in index 0449737889..69c2f7425e 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in +++ b/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in @@ -4,7 +4,7 @@ comment "Arm toolchains available for Cortex-A + EABIhf" depends on !BR2_STATIC_LIBS
config BR2_TOOLCHAIN_EXTERNAL_ARM_ARM - bool "Arm ARM 2018.11" + bool "Arm ARM 2019.01" depends on BR2_arm depends on BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A depends on BR2_HOSTARCH = "x86_64" @@ -14,7 +14,7 @@ config BR2_TOOLCHAIN_EXTERNAL_ARM_ARM select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_NATIVE_RPC select BR2_INSTALL_LIBSTDCPP - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_00 select BR2_TOOLCHAIN_GCC_AT_LEAST_8 select BR2_TOOLCHAIN_HAS_FORTRAN help diff --git a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options index 08a79ee4d9..48eb1ea080 100644 --- a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options +++ b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options @@ -123,6 +123,10 @@ choice m = ( LINUX_VERSION_CODE >> 8 ) & 0xFF p = ( LINUX_VERSION_CODE >> 0 ) & 0xFF
+config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_00 + bool "5.00.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_00 + config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_20 bool "4.20.x" select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20
Tested with OP-TEE [1] using GCC 8.2 2019.01 for both AArch32 (QEMU Armv7-A, gcc-arm-8.2-2019.01-x86_64-arm-linux-gnueabihf [2]) and with AArch64 (QEMU Armv8-A, gcc-arm-8.2-2019.01-x86_64-aarch64-linux-gnu [2]) which has gotten TUI mode re-enabled [3].
[1] https://github.com/OP-TEE [2] https://developer.arm.com/open-source/gnu-toolchain/gnu-a/downloads [3] https://bugs.linaro.org/show_bug.cgi?id=4130
Signed-off-by: Joakim Bech joakim.bech@linaro.org --- Re-sending the patch, since I wasn't subscribing to the Buildroot mailinglist.
package/linux-headers/Config.in.host | 4 ++++ toolchain/Config.in | 5 +++++ .../toolchain-external-arm-aarch64/Config.in | 4 ++-- .../toolchain-external/toolchain-external-arm-arm/Config.in | 4 ++-- .../toolchain-external-custom/Config.in.options | 4 ++++ 5 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/package/linux-headers/Config.in.host b/package/linux-headers/Config.in.host index a6055e75b9..fd0cef8b21 100644 --- a/package/linux-headers/Config.in.host +++ b/package/linux-headers/Config.in.host @@ -51,6 +51,10 @@ config BR2_KERNEL_HEADERS_4_20 bool "Linux 4.20.x kernel headers" select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20
+config BR2_KERNEL_HEADERS_5_00 + bool "Linux 5.00.x kernel headers" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_00 + config BR2_KERNEL_HEADERS_VERSION bool "Manually specified Linux version" help diff --git a/toolchain/Config.in b/toolchain/Config.in index baf192c936..fd197f2407 100644 --- a/toolchain/Config.in +++ b/toolchain/Config.in @@ -374,10 +374,15 @@ config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 bool select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19
+config BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_00 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 + # This order guarantees that the highest version is set, as kconfig # stops affecting a value on the first matching default. config BR2_TOOLCHAIN_HEADERS_AT_LEAST string + default "5.00" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_00 default "4.20" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 default "4.19" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19 default "4.18" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18 diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in b/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in index fbb5e025e8..279cb88f31 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in +++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in @@ -1,5 +1,5 @@ config BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64 - bool "Arm AArch64 2018.11" + bool "Arm AArch64 2019.01" depends on BR2_aarch64 depends on BR2_HOSTARCH = "x86_64" depends on !BR2_STATIC_LIBS @@ -7,7 +7,7 @@ config BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64 select BR2_TOOLCHAIN_HAS_SSP select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_NATIVE_RPC - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_00 select BR2_TOOLCHAIN_GCC_AT_LEAST_8 select BR2_TOOLCHAIN_HAS_FORTRAN help diff --git a/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in b/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in index 0449737889..69c2f7425e 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in +++ b/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in @@ -4,7 +4,7 @@ comment "Arm toolchains available for Cortex-A + EABIhf" depends on !BR2_STATIC_LIBS
config BR2_TOOLCHAIN_EXTERNAL_ARM_ARM - bool "Arm ARM 2018.11" + bool "Arm ARM 2019.01" depends on BR2_arm depends on BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A depends on BR2_HOSTARCH = "x86_64" @@ -14,7 +14,7 @@ config BR2_TOOLCHAIN_EXTERNAL_ARM_ARM select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_NATIVE_RPC select BR2_INSTALL_LIBSTDCPP - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_00 select BR2_TOOLCHAIN_GCC_AT_LEAST_8 select BR2_TOOLCHAIN_HAS_FORTRAN help diff --git a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options index 08a79ee4d9..48eb1ea080 100644 --- a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options +++ b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options @@ -123,6 +123,10 @@ choice m = ( LINUX_VERSION_CODE >> 8 ) & 0xFF p = ( LINUX_VERSION_CODE >> 0 ) & 0xFF
+config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_00 + bool "5.00.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_00 + config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_20 bool "4.20.x" select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20
Hello Joakim,
Thanks for your contribution!
On Mon, 28 Jan 2019 15:02:06 +0100 Joakim Bech joakim.bech@linaro.org wrote:
package/linux-headers/Config.in.host | 4 ++++ toolchain/Config.in | 5 +++++
Introducing support for 5.0 kernel headers should be part of a separate patch.
.../toolchain-external-arm-aarch64/Config.in | 4 ++-- .../toolchain-external/toolchain-external-arm-arm/Config.in | 4 ++-- .../toolchain-external-custom/Config.in.options | 4 ++++ 5 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/package/linux-headers/Config.in.host b/package/linux-headers/Config.in.host index a6055e75b9..fd0cef8b21 100644 --- a/package/linux-headers/Config.in.host +++ b/package/linux-headers/Config.in.host @@ -51,6 +51,10 @@ config BR2_KERNEL_HEADERS_4_20 bool "Linux 4.20.x kernel headers" select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 +config BR2_KERNEL_HEADERS_5_00
Use BR2_KERNEL_HEADERS_5_0 instead.
- bool "Linux 5.00.x kernel headers"
- select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_00
config BR2_KERNEL_HEADERS_VERSION bool "Manually specified Linux version" help diff --git a/toolchain/Config.in b/toolchain/Config.in index baf192c936..fd197f2407 100644 --- a/toolchain/Config.in +++ b/toolchain/Config.in @@ -374,10 +374,15 @@ config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 bool select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19 +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_00
- bool
- select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20
# This order guarantees that the highest version is set, as kconfig # stops affecting a value on the first matching default. config BR2_TOOLCHAIN_HEADERS_AT_LEAST string
- default "5.00" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_00 default "4.20" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 default "4.19" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19 default "4.18" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18
diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in b/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in index fbb5e025e8..279cb88f31 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in +++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in @@ -1,5 +1,5 @@ config BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64
- bool "Arm AArch64 2018.11"
- bool "Arm AArch64 2019.01"
I don't see how this can be sufficient to update the toolchain version. Surely the .mk and .hash files need to be changed as well.
Thanks,
Thomas
Hi Thomas,
On Mon, Jan 28, 2019 at 03:08:34PM +0100, Thomas Petazzoni wrote:
Hello Joakim,
Thanks for your contribution!
Thanks! This is my first time ever sending a patch to Buildroot and admittedly I'm not very well versed with all details in Buildroot, so pardon my ignorance here and I appreciate the guidance I get.
On Mon, 28 Jan 2019 15:02:06 +0100 Joakim Bech joakim.bech@linaro.org wrote:
package/linux-headers/Config.in.host | 4 ++++ toolchain/Config.in | 5 +++++
Introducing support for 5.0 kernel headers should be part of a separate patch.
.../toolchain-external-arm-aarch64/Config.in | 4 ++-- .../toolchain-external/toolchain-external-arm-arm/Config.in | 4 ++-- .../toolchain-external-custom/Config.in.options | 4 ++++ 5 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/package/linux-headers/Config.in.host b/package/linux-headers/Config.in.host index a6055e75b9..fd0cef8b21 100644 --- a/package/linux-headers/Config.in.host +++ b/package/linux-headers/Config.in.host @@ -51,6 +51,10 @@ config BR2_KERNEL_HEADERS_4_20 bool "Linux 4.20.x kernel headers" select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 +config BR2_KERNEL_HEADERS_5_00
Use BR2_KERNEL_HEADERS_5_0 instead.
- bool "Linux 5.00.x kernel headers"
- select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_00
config BR2_KERNEL_HEADERS_VERSION bool "Manually specified Linux version" help diff --git a/toolchain/Config.in b/toolchain/Config.in index baf192c936..fd197f2407 100644 --- a/toolchain/Config.in +++ b/toolchain/Config.in @@ -374,10 +374,15 @@ config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 bool select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19 +config BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_00
- bool
- select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20
# This order guarantees that the highest version is set, as kconfig # stops affecting a value on the first matching default. config BR2_TOOLCHAIN_HEADERS_AT_LEAST string
- default "5.00" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_00 default "4.20" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 default "4.19" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19 default "4.18" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18
diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in b/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in index fbb5e025e8..279cb88f31 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in +++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in @@ -1,5 +1,5 @@ config BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64
- bool "Arm AArch64 2018.11"
- bool "Arm AArch64 2019.01"
I don't see how this can be sufficient to update the toolchain version. Surely the .mk and .hash files need to be changed as well.
Chapter 17.3 and 17.4 is about this in the documentation, right?
For hash files, are you referring to these:
$ find -name "*.hash" | grep gcc ./package/gcc/gcc-initial/gcc-initial.hash ./package/gcc/gcc.hash ./package/gcc/gcc-final/gcc-final.hash
I.e. add a line to each of them stating the source and the hash of the tarball itself? Only use SHA-512 I suppose? The documentation lists both SHA1 and SHA-256.
Btw, what is the difference between the three (initial, ..., final)?
Regarding the makefiles, same there?
$ find -name "*.mk" | grep gcc ./package/gcc/gcc.mk ./package/gcc/gcc-initial/gcc-initial.mk ./package/gcc/gcc-final/gcc-final.mk
After looking at those it's not directly clear what I'm supposed to update there.
Hello,
On Mon, 28 Jan 2019 15:35:07 +0100 Joakim Bech joakim.bech@linaro.org wrote:
I don't see how this can be sufficient to update the toolchain version. Surely the .mk and .hash files need to be changed as well.
Chapter 17.3 and 17.4 is about this in the documentation, right?
For hash files, are you referring to these:
$ find -name "*.hash" | grep gcc ./package/gcc/gcc-initial/gcc-initial.hash ./package/gcc/gcc.hash ./package/gcc/gcc-final/gcc-final.hash
These are all the same files, thanks to symlinks. But anyway, these files are not relevant, since they are for the "internal toolchain" backend (i.e when Buildroot builds a toolchain) and not the external toolchain backend.
In your case, I don't see how the version bump can work if you don't change:
toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.mk toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.hash toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.mk toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.hash
Best regards,
Thomas
Hi,
On Mon, Jan 28, 2019 at 03:59:51PM +0100, Thomas Petazzoni wrote:
In your case, I don't see how the version bump can work if you don't change:
When I'm building for OP-TEE we are pre-downloading the toolchain from the OP-TEE makefiles and refer to that when configuring Buildroot, which explains why this was working on my side even before making the changes you're asking for.
toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.mk toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.hash toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.mk toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.hash
Got it! I've made changes to those files and this time I've also tested directly in Buildroot (without involving OP-TEE) as follows:
1) $ make qemu_aarch64_virt_defconfig $ make menuconfig ... select external toolchain $ make ... 2019-01-28 17:06:00 (1.11 MB/s) - ‘/home/jbech/devel/optee_projects/qemu_v8/buildroot/output/build/.gcc-arm-8.2-2019.01-x86_64-aarch64-linux-gnu.tar.xz.7NG7Nw/output’ saved [267998260/267998260]
gcc-arm-8.2-2019.01-x86_64-aarch64-linux-gnu.tar.xz: OK (md5: ed467a18abc7cf81d53c0cf6014b1867) gcc-arm-8.2-2019.01-x86_64-aarch64-linux-gnu.tar.xz: OK (sha256: 6683d51b0dd61a91ab1e8e478a0a8a50ccb34d5590c84aa36697e956b16f14a1)
2) $ make qemu_arm_vexpress_defconfig $ make menuconfig ... select external toolchain $ make ... 2019-01-28 17:26:29 (1.11 MB/s) - ‘/home/jbech/devel/optee_projects/qemu_v8/buildroot/output/build/.gcc-arm-8.2-2019.01-x86_64-arm-linux-gnueabihf.tar.xz.XkMAPN/output’ saved [252108596/252108596] gcc-arm-8.2-2019.01-x86_64-arm-linux-gnueabihf.tar.xz: OK (md5: 123887bdaa27b362f0f428dc36af5693) gcc-arm-8.2-2019.01-x86_64-arm-linux-gnueabihf.tar.xz: OK (sha256: 6b73016fa4773a7450bac9bd80b2ca056b5d582dd966b509a17b305fc89506a9)
Which I believe looks good and what we would expect (the builds also ended successfully). I will send v2-patch soon, thanks for the guidance!
In the GCC 2019.01 version [1] Arm have re-enabled the TUI mode which makes debugging with GDB (source code) a bit easier [2].
Tested with bare Buildroot / defconfig(s): * qemu_aarch64_virt_defconfig * qemu_arm_vexpress_defconfig
Tested with OP-TEE [3]: * Full QEMU v7 (AArch32) build * Full QEMU v8 (AArch64) build
[1] https://developer.arm.com/open-source/gnu-toolchain/gnu-a/downloads [2] https://bugs.linaro.org/show_bug.cgi?id=4130 [3] https://github.com/OP-TEE
Signed-off-by: Joakim Bech joakim.bech@linaro.org --- Changes v1 -> v2: - Added hashes for the new GCC binaries. - Stepped up the version in use in the ...arm-aarch64.mk as well as in the ...arm-arm.mk file(s). - Cleaned up and clarified the commit message.
package/linux-headers/Config.in.host | 4 ++++ toolchain/Config.in | 5 +++++ .../toolchain-external-arm-aarch64/Config.in | 4 ++-- .../toolchain-external-arm-aarch64.hash | 5 +++++ .../toolchain-external-arm-aarch64.mk | 2 +- .../toolchain-external/toolchain-external-arm-arm/Config.in | 4 ++-- .../toolchain-external-arm-arm.hash | 5 +++++ .../toolchain-external-arm-arm/toolchain-external-arm-arm.mk | 2 +- .../toolchain-external-custom/Config.in.options | 4 ++++ 9 files changed, 29 insertions(+), 6 deletions(-)
diff --git a/package/linux-headers/Config.in.host b/package/linux-headers/Config.in.host index a6055e75b9..fd0cef8b21 100644 --- a/package/linux-headers/Config.in.host +++ b/package/linux-headers/Config.in.host @@ -51,6 +51,10 @@ config BR2_KERNEL_HEADERS_4_20 bool "Linux 4.20.x kernel headers" select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20
+config BR2_KERNEL_HEADERS_5_00 + bool "Linux 5.00.x kernel headers" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_00 + config BR2_KERNEL_HEADERS_VERSION bool "Manually specified Linux version" help diff --git a/toolchain/Config.in b/toolchain/Config.in index baf192c936..fd197f2407 100644 --- a/toolchain/Config.in +++ b/toolchain/Config.in @@ -374,10 +374,15 @@ config BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 bool select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19
+config BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_00 + bool + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 + # This order guarantees that the highest version is set, as kconfig # stops affecting a value on the first matching default. config BR2_TOOLCHAIN_HEADERS_AT_LEAST string + default "5.00" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_00 default "4.20" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 default "4.19" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19 default "4.18" if BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18 diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in b/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in index fbb5e025e8..279cb88f31 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in +++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64/Config.in @@ -1,5 +1,5 @@ config BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64 - bool "Arm AArch64 2018.11" + bool "Arm AArch64 2019.01" depends on BR2_aarch64 depends on BR2_HOSTARCH = "x86_64" depends on !BR2_STATIC_LIBS @@ -7,7 +7,7 @@ config BR2_TOOLCHAIN_EXTERNAL_ARM_AARCH64 select BR2_TOOLCHAIN_HAS_SSP select BR2_INSTALL_LIBSTDCPP select BR2_TOOLCHAIN_HAS_NATIVE_RPC - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_00 select BR2_TOOLCHAIN_GCC_AT_LEAST_8 select BR2_TOOLCHAIN_HAS_FORTRAN help diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.hash b/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.hash index cda90f7517..90e44d5c3b 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.hash +++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.hash @@ -2,3 +2,8 @@ md5 319ca548ff05b0ec1008988a7e5ab619 gcc-arm-8.2-2018.11-x86_64-aarch64-linux-gnu.tar.xz # locally calculated sha256 0142366da2f30feb1c366997cbdaa02286c8f1aa527c0fc177ee5ce8e77970fc gcc-arm-8.2-2018.11-x86_64-aarch64-linux-gnu.tar.xz + +# From https://developer.arm.com/-/media/Files/downloads/gnu-a/8.2-2019.01/gcc-arm-... +md5 ed467a18abc7cf81d53c0cf6014b1867 gcc-arm-8.2-2019.01-x86_64-aarch64-linux-gnu.tar.xz +# locally calculated +sha256 6683d51b0dd61a91ab1e8e478a0a8a50ccb34d5590c84aa36697e956b16f14a1 gcc-arm-8.2-2019.01-x86_64-aarch64-linux-gnu.tar.xz diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.mk b/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.mk index 0398bd1297..bb9c658639 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.mk +++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.mk @@ -4,7 +4,7 @@ # ################################################################################
-TOOLCHAIN_EXTERNAL_ARM_AARCH64_VERSION = 2018.11 +TOOLCHAIN_EXTERNAL_ARM_AARCH64_VERSION = 2019.01 TOOLCHAIN_EXTERNAL_ARM_AARCH64_SITE = https://developer.arm.com/-/media/Files/downloads/gnu-a/8.2-%24(TOOLCHAIN_EX...)
TOOLCHAIN_EXTERNAL_ARM_AARCH64_SOURCE = gcc-arm-8.2-$(TOOLCHAIN_EXTERNAL_ARM_AARCH64_VERSION)-x86_64-aarch64-linux-gnu.tar.xz diff --git a/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in b/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in index 0449737889..69c2f7425e 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in +++ b/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in @@ -4,7 +4,7 @@ comment "Arm toolchains available for Cortex-A + EABIhf" depends on !BR2_STATIC_LIBS
config BR2_TOOLCHAIN_EXTERNAL_ARM_ARM - bool "Arm ARM 2018.11" + bool "Arm ARM 2019.01" depends on BR2_arm depends on BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A depends on BR2_HOSTARCH = "x86_64" @@ -14,7 +14,7 @@ config BR2_TOOLCHAIN_EXTERNAL_ARM_ARM select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_NATIVE_RPC select BR2_INSTALL_LIBSTDCPP - select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20 + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_00 select BR2_TOOLCHAIN_GCC_AT_LEAST_8 select BR2_TOOLCHAIN_HAS_FORTRAN help diff --git a/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.hash b/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.hash index cd7f526547..e0e841cb70 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.hash +++ b/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.hash @@ -2,3 +2,8 @@ md5 59ccf965837ed1c5ba59e5ad4b688b21 gcc-arm-8.2-2018.11-x86_64-arm-linux-gnueabihf.tar.xz # locally calculated sha256 3f9bc7a68f744a5edc7caebff5f3f2c3bc1ff9d8ac8b05f7680a0071461deede gcc-arm-8.2-2018.11-x86_64-arm-linux-gnueabihf.tar.xz + +# From https://developer.arm.com/-/media/Files/downloads/gnu-a/8.2-2019.01/gcc-arm-... +md5 123887bdaa27b362f0f428dc36af5693 gcc-arm-8.2-2019.01-x86_64-arm-linux-gnueabihf.tar.xz +# locally calculated +sha256 6b73016fa4773a7450bac9bd80b2ca056b5d582dd966b509a17b305fc89506a9 gcc-arm-8.2-2019.01-x86_64-arm-linux-gnueabihf.tar.xz diff --git a/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.mk b/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.mk index 0c21affd7b..67d21a13d9 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.mk +++ b/toolchain/toolchain-external/toolchain-external-arm-arm/toolchain-external-arm-arm.mk @@ -4,7 +4,7 @@ # ################################################################################
-TOOLCHAIN_EXTERNAL_ARM_ARM_VERSION = 2018.11 +TOOLCHAIN_EXTERNAL_ARM_ARM_VERSION = 2019.01 TOOLCHAIN_EXTERNAL_ARM_ARM_SITE = https://developer.arm.com/-/media/Files/downloads/gnu-a/8.2-%24(TOOLCHAIN_EX...)
TOOLCHAIN_EXTERNAL_ARM_ARM_SOURCE = gcc-arm-8.2-$(TOOLCHAIN_EXTERNAL_ARM_ARM_VERSION)-x86_64-arm-linux-gnueabihf.tar.xz diff --git a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options index 08a79ee4d9..48eb1ea080 100644 --- a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options +++ b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options @@ -123,6 +123,10 @@ choice m = ( LINUX_VERSION_CODE >> 8 ) & 0xFF p = ( LINUX_VERSION_CODE >> 0 ) & 0xFF
+config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_00 + bool "5.00.x" + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_00 + config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_20 bool "4.20.x" select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20
Hi Joakim,
Thanks for this updated patch, but you haven't taken into account the rest of Thomas's comments.
I'll repeat them below for your convenience.
On 28/01/2019 18:05, Joakim Bech wrote: [snip]
+config BR2_KERNEL_HEADERS_5_00
- bool "Linux 5.00.x kernel headers"
- select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_00
Adding support for the 5.0 headers should be a separate patch. See commit 649883d2c9957b7a7fcf81c4475f848ad8865ca1 for an example how it was done for 4.20.
Also, please call it 5.0 and not 5.00.
And also some new comments:
[snip]
diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.hash b/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.hash index cda90f7517..90e44d5c3b 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.hash +++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.hash @@ -2,3 +2,8 @@ md5 319ca548ff05b0ec1008988a7e5ab619 gcc-arm-8.2-2018.11-x86_64-aarch64-linux-gnu.tar.xz # locally calculated sha256 0142366da2f30feb1c366997cbdaa02286c8f1aa527c0fc177ee5ce8e77970fc gcc-arm-8.2-2018.11-x86_64-aarch64-linux-gnu.tar.xz
Remove the existing hashes: they are no longer used since the version has changed. In other words, every line of this file should be updated, except for the # locally calculated.
+# From https://developer.arm.com/-/media/Files/downloads/gnu-a/8.2-2019.01/gcc-arm-... +md5 ed467a18abc7cf81d53c0cf6014b1867 gcc-arm-8.2-2019.01-x86_64-aarch64-linux-gnu.tar.xz +# locally calculated +sha256 6683d51b0dd61a91ab1e8e478a0a8a50ccb34d5590c84aa36697e956b16f14a1 gcc-arm-8.2-2019.01-x86_64-aarch64-linux-gnu.tar.xz diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.mk b/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.mk index 0398bd1297..bb9c658639 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.mk +++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.mk @@ -4,7 +4,7 @@ # ################################################################################ -TOOLCHAIN_EXTERNAL_ARM_AARCH64_VERSION = 2018.11 +TOOLCHAIN_EXTERNAL_ARM_AARCH64_VERSION = 2019.01 TOOLCHAIN_EXTERNAL_ARM_AARCH64_SITE = https://developer.arm.com/-/media/Files/downloads/gnu-a/8.2-%24(TOOLCHAIN_EX...) TOOLCHAIN_EXTERNAL_ARM_AARCH64_SOURCE = gcc-arm-8.2-$(TOOLCHAIN_EXTERNAL_ARM_AARCH64_VERSION)-x86_64-aarch64-linux-gnu.tar.xz diff --git a/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in b/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in> index 0449737889..69c2f7425e 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in +++ b/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in @@ -4,7 +4,7 @@ comment "Arm toolchains available for Cortex-A + EABIhf" depends on !BR2_STATIC_LIBS config BR2_TOOLCHAIN_EXTERNAL_ARM_ARM
- bool "Arm ARM 2018.11"
- bool "Arm ARM 2019.01" depends on BR2_arm depends on BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A depends on BR2_HOSTARCH = "x86_64"
@@ -14,7 +14,7 @@ config BR2_TOOLCHAIN_EXTERNAL_ARM_ARM select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_NATIVE_RPC select BR2_INSTALL_LIBSTDCPP
- select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20
- select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_00 select BR2_TOOLCHAIN_GCC_AT_LEAST_8 select BR2_TOOLCHAIN_HAS_FORTRAN help
The help text here also says which GDB, GCC, binutils and kernel headers versions it is using. Please update that to the actual versions.
[snip]
diff --git a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options index 08a79ee4d9..48eb1ea080 100644 --- a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options +++ b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options @@ -123,6 +123,10 @@ choice m = ( LINUX_VERSION_CODE >> 8 ) & 0xFF p = ( LINUX_VERSION_CODE >> 0 ) & 0xFF +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_00
- bool "5.00.x"
- select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_00
Note that this bit belongs to the patch that adds the 5.0 version.
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_20 bool "4.20.x" select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20
And finally, there is also an ARM aarch64-be toolchain that should be updated.
Regards, Arnout
Hi Arnout,
On Mon, Jan 28, 2019 at 11:22:13PM +0100, Arnout Vandecappelle wrote:
Hi Joakim,
Thanks for this updated patch, but you haven't taken into account the rest of Thomas's comments.
I'll repeat them below for your convenience.
For some reason I totally missed those, thanks for the reminder!
On 28/01/2019 18:05, Joakim Bech wrote: [snip]
+config BR2_KERNEL_HEADERS_5_00
- bool "Linux 5.00.x kernel headers"
- select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_00
Adding support for the 5.0 headers should be a separate patch. See commit 649883d2c9957b7a7fcf81c4475f848ad8865ca1 for an example how it was done for 4.20.
So after looking a bit more into the git log of how patches where created in the past it looks like I should create 4 patches, "pseudo git log -4". - toolchain-external: update Arm ARM 8.2-2019.01 - toolchain-external: update Arm AArch64-BE toolchain 8.2-2019.01 - toolchain-external: update Arm AArch64 toolchain 8.2-2019.01 - toolchain: add necessary options to support 5.0 kernel headers
Also, please call it 5.0 and not 5.00.
Will fix.
And also some new comments:
[snip]
diff --git a/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.hash b/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.hash index cda90f7517..90e44d5c3b 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.hash +++ b/toolchain/toolchain-external/toolchain-external-arm-aarch64/toolchain-external-arm-aarch64.hash @@ -2,3 +2,8 @@ md5 319ca548ff05b0ec1008988a7e5ab619 gcc-arm-8.2-2018.11-x86_64-aarch64-linux-gnu.tar.xz # locally calculated sha256 0142366da2f30feb1c366997cbdaa02286c8f1aa527c0fc177ee5ce8e77970fc gcc-arm-8.2-2018.11-x86_64-aarch64-linux-gnu.tar.xz
Remove the existing hashes: they are no longer used since the version has changed. In other words, every line of this file should be updated, except for the # locally calculated.
Will fix.
diff --git a/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in b/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in> index 0449737889..69c2f7425e 100644 --- a/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in +++ b/toolchain/toolchain-external/toolchain-external-arm-arm/Config.in @@ -4,7 +4,7 @@ comment "Arm toolchains available for Cortex-A + EABIhf" depends on !BR2_STATIC_LIBS config BR2_TOOLCHAIN_EXTERNAL_ARM_ARM
- bool "Arm ARM 2018.11"
- bool "Arm ARM 2019.01" depends on BR2_arm depends on BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A depends on BR2_HOSTARCH = "x86_64"
@@ -14,7 +14,7 @@ config BR2_TOOLCHAIN_EXTERNAL_ARM_ARM select BR2_TOOLCHAIN_HAS_SSP select BR2_TOOLCHAIN_HAS_NATIVE_RPC select BR2_INSTALL_LIBSTDCPP
- select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20
- select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_00 select BR2_TOOLCHAIN_GCC_AT_LEAST_8 select BR2_TOOLCHAIN_HAS_FORTRAN help
The help text here also says which GDB, GCC, binutils and kernel headers versions it is using. Please update that to the actual versions.
I cross checked with the versions mentioned in the release notes at (scroll down): https://developer.arm.com/open-source/gnu-toolchain/gnu-a/downloads and it seems like all versions are the same as in the previous (2018.11) release, so no need for any update. However I found some inconsistency between arm-arm and arm-aarch64{-be}, the latter doesn't mention the tools/versions in the help text. Do you want me to add that similar to arm-arm?
[snip]
diff --git a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options index 08a79ee4d9..48eb1ea080 100644 --- a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options +++ b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options @@ -123,6 +123,10 @@ choice m = ( LINUX_VERSION_CODE >> 8 ) & 0xFF p = ( LINUX_VERSION_CODE >> 0 ) & 0xFF +config BR2_TOOLCHAIN_EXTERNAL_HEADERS_5_00
- bool "5.00.x"
- select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_00
Note that this bit belongs to the patch that adds the 5.0 version.
Will fix.
config BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_20 bool "4.20.x" select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20
And finally, there is also an ARM aarch64-be toolchain that should be updated.
Will add that also.
Final question, I can see most patches on the mailing list prefixes with [Buildroot] [PATCH ...], i.e., I suppose that is something you want be to do also for future patches/patch sets?
Thanks for the review, feedback and guidance.
On 29/01/2019 11:26, Joakim Bech wrote:
Hi Arnout,
On Mon, Jan 28, 2019 at 11:22:13PM +0100, Arnout Vandecappelle wrote:
Hi Joakim,
Thanks for this updated patch, but you haven't taken into account the rest of Thomas's comments.
I'll repeat them below for your convenience.
For some reason I totally missed those, thanks for the reminder!
On 28/01/2019 18:05, Joakim Bech wrote: [snip]
+config BR2_KERNEL_HEADERS_5_00
- bool "Linux 5.00.x kernel headers"
- select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_00
Adding support for the 5.0 headers should be a separate patch. See commit 649883d2c9957b7a7fcf81c4475f848ad8865ca1 for an example how it was done for 4.20.
So after looking a bit more into the git log of how patches where created in the past it looks like I should create 4 patches, "pseudo git log -4".
- toolchain-external: update Arm ARM 8.2-2019.01
- toolchain-external: update Arm AArch64-BE toolchain 8.2-2019.01
- toolchain-external: update Arm AArch64 toolchain 8.2-2019.01
- toolchain: add necessary options to support 5.0 kernel headers
Indeed, that's the way to go.
[snip]
The help text here also says which GDB, GCC, binutils and kernel headers versions it is using. Please update that to the actual versions.
I cross checked with the versions mentioned in the release notes at (scroll down): https://developer.arm.com/open-source/gnu-toolchain/gnu-a/downloads and it seems like all versions are the same as in the previous (2018.11) release, so no need for any update. However I found some inconsistency between arm-arm and arm-aarch64{-be}, the latter doesn't mention the tools/versions in the help text. Do you want me to add that similar to arm-arm?
I guess the lack of details in the aarch64 toolchain is indeed just historical accident. Thomas added this in 2012, I'm sure he still remembers why he didn't add any details :-)
It's not strictly necessary to add the details, but it would be great if you do. You can do that either as a separate patch, or together with the version bump, it's up to you.
[snip]
Final question, I can see most patches on the mailing list prefixes with [Buildroot] [PATCH ...], i.e., I suppose that is something you want be to do also for future patches/patch sets?
The [Buildroot] is added automatically by the list server, you can't add it by hand. The way you submitted it was perfect. Well, maybe cross-posting to tee-dev wasn't ideal because my replies don't end up on that list (I'm not subscribed) :-)
Regards, Arnout
Thanks for the review, feedback and guidance.
On 29/01/2019 12:27, Arnout Vandecappelle wrote:
On 28/01/2019 18:05, Joakim Bech wrote: [snip]
+config BR2_KERNEL_HEADERS_5_00
- bool "Linux 5.00.x kernel headers"
- select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_00
Adding support for the 5.0 headers should be a separate patch. See commit 649883d2c9957b7a7fcf81c4475f848ad8865ca1 for an example how it was done for 4.20.
So after looking a bit more into the git log of how patches where created in the past it looks like I should create 4 patches, "pseudo git log -4".
- toolchain-external: update Arm ARM 8.2-2019.01
- toolchain-external: update Arm AArch64-BE toolchain 8.2-2019.01
- toolchain-external: update Arm AArch64 toolchain 8.2-2019.01
- toolchain: add necessary options to support 5.0 kernel headers
Indeed, that's the way to go.
Hold on a moment, I'm having second thoughts on this... This toolchain is using 5.0-rcX kernel headers. I'm not so sure that we will want that in our 2019.02 LTS release... So I expect that this patch will not get included in the 2919.02 cut-off, and will end up being superseded by the Arm 2019.03 release...
Peter?
That said, the part that adds support for 5.0 kernel headers is certainly something we'd like to have in the 2019.02 LTS.
Regards, Arnout
On Tue, Jan 29, 2019 at 12:34:33PM +0100, Arnout Vandecappelle wrote:
On 29/01/2019 12:27, Arnout Vandecappelle wrote:
On 28/01/2019 18:05, Joakim Bech wrote: [snip]
+config BR2_KERNEL_HEADERS_5_00
- bool "Linux 5.00.x kernel headers"
- select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_00
Adding support for the 5.0 headers should be a separate patch. See commit 649883d2c9957b7a7fcf81c4475f848ad8865ca1 for an example how it was done for 4.20.
So after looking a bit more into the git log of how patches where created in the past it looks like I should create 4 patches, "pseudo git log -4".
- toolchain-external: update Arm ARM 8.2-2019.01
- toolchain-external: update Arm AArch64-BE toolchain 8.2-2019.01
- toolchain-external: update Arm AArch64 toolchain 8.2-2019.01
- toolchain: add necessary options to support 5.0 kernel headers
Indeed, that's the way to go.
Hold on a moment, I'm having second thoughts on this... This toolchain is using 5.0-rcX kernel headers. I'm not so sure that we will want that in our 2019.02 LTS release... So I expect that this patch will not get included in the 2919.02 cut-off, and will end up being superseded by the Arm 2019.03 release...
Peter?
That said, the part that adds support for 5.0 kernel headers is certainly something we'd like to have in the 2019.02 LTS.
That is actually sufficient for our (OP-TEE) usage, i.e., as mentioned in my earlier patch set we are pre-downloading the toolchain outside Buildroot. But we need the kernel header changes, otherwise we cannot upgrade our "pre-downloaded" toolchain. On the other hand, it's not the end of the world if we hold off with this for a month or two.
Anyhow, I'm holding off posting v3 until I've seen a reply from Peter.
"Arnout" == Arnout Vandecappelle arnout@mind.be writes:
On 29/01/2019 12:27, Arnout Vandecappelle wrote:
On 28/01/2019 18:05, Joakim Bech wrote: [snip]
+config BR2_KERNEL_HEADERS_5_00
- bool "Linux 5.00.x kernel headers"
- select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_00
Adding support for the 5.0 headers should be a separate patch. See commit 649883d2c9957b7a7fcf81c4475f848ad8865ca1 for an example how it was done for 4.20.
So after looking a bit more into the git log of how patches where created in the past it looks like I should create 4 patches, "pseudo git log -4".
- toolchain-external: update Arm ARM 8.2-2019.01
- toolchain-external: update Arm AArch64-BE toolchain 8.2-2019.01
- toolchain-external: update Arm AArch64 toolchain 8.2-2019.01
- toolchain: add necessary options to support 5.0 kernel headers
Indeed, that's the way to go.
Hold on a moment, I'm having second thoughts on this... This toolchain is using 5.0-rcX kernel headers. I'm not so sure that we will want that in our 2019.02 LTS release... So I expect that this patch will not get included in the 2919.02 cut-off, and will end up being superseded by the Arm 2019.03 release...
Peter?
Yes, using a RC doesn't sound very nice for the LTS.
That said, the part that adds support for 5.0 kernel headers is certainly something we'd like to have in the 2019.02 LTS.
Why? 5.0 is not released yet, and will not become a LTS release.
On 04/02/2019 11:08, Peter Korsgaard wrote:
"Arnout" == Arnout Vandecappelle arnout@mind.be writes:
On 29/01/2019 12:27, Arnout Vandecappelle wrote:
On 28/01/2019 18:05, Joakim Bech wrote: [snip]
+config BR2_KERNEL_HEADERS_5_00
- bool "Linux 5.00.x kernel headers"
- select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_00
Adding support for the 5.0 headers should be a separate patch. See commit 649883d2c9957b7a7fcf81c4475f848ad8865ca1 for an example how it was done for 4.20.
So after looking a bit more into the git log of how patches where created in the past it looks like I should create 4 patches, "pseudo git log -4".
- toolchain-external: update Arm ARM 8.2-2019.01
- toolchain-external: update Arm AArch64-BE toolchain 8.2-2019.01
- toolchain-external: update Arm AArch64 toolchain 8.2-2019.01
- toolchain: add necessary options to support 5.0 kernel headers
Indeed, that's the way to go.
Hold on a moment, I'm having second thoughts on this... This toolchain is using 5.0-rcX kernel headers. I'm not so sure that we will want that in our 2019.02 LTS release... So I expect that this patch will not get included in the 2919.02 cut-off, and will end up being superseded by the Arm 2019.03 release...
Peter?
Yes, using a RC doesn't sound very nice for the LTS.
That said, the part that adds support for 5.0 kernel headers is certainly something we'd like to have in the 2019.02 LTS.
Why? 5.0 is not released yet, and will not become a LTS release.
It is likely that people will use a 5.0 kernel during the LTS cycle, and that they will use HEADERS_AS_KERNEL.
Actually, we should have have a _REALLY_NEW option for custom headers, just like we have _REALLY_OLD.
Regards, Arnout
"Arnout" == Arnout Vandecappelle arnout@mind.be writes:
Hi,
That said, the part that adds support for 5.0 kernel headers is certainly something we'd like to have in the 2019.02 LTS.
Why? 5.0 is not released yet, and will not become a LTS release.
It is likely that people will use a 5.0 kernel during the LTS cycle, and that they will use HEADERS_AS_KERNEL.
And 5.1,2,3,.. - E.G. 2018.02.x only had up to 4.15, even though 5.0 will probably get released before 2018.02 goes EOL.
Actually, we should have have a _REALLY_NEW option for custom headers, just like we have _REALLY_OLD.
Yes, that would be nice.
On Tue, Jan 29, 2019 at 12:27:54PM +0100, Arnout Vandecappelle wrote:
On 29/01/2019 11:26, Joakim Bech wrote: [snip]
Final question, I can see most patches on the mailing list prefixes with [Buildroot] [PATCH ...], i.e., I suppose that is something you want be to do also for future patches/patch sets?
The [Buildroot] is added automatically by the list server, you can't add it by hand.
OK, I thought you could add it using '--subject-prefix' when formatting the patch, but then nothing to worry about.
The way you submitted it was perfect. Well, maybe cross-posting to tee-dev wasn't ideal because my replies don't end up on that list (I'm not subscribed) :-)
And that makes a headache to me myself, since I'm the one that has to grant all messages from non-subscribers ... self punishment :)
Hi Joakim,
On Tue, Jan 29 2019, Joakim Bech wrote:
So after looking a bit more into the git log of how patches where created in the past it looks like I should create 4 patches, "pseudo git log -4".
- toolchain-external: update Arm ARM 8.2-2019.01
- toolchain-external: update Arm AArch64-BE toolchain 8.2-2019.01
- toolchain-external: update Arm AArch64 toolchain 8.2-2019.01
- toolchain: add necessary options to support 5.0 kernel headers
The v5.0 headers patch should be the first in the series. Otherwise the toolchains will be selecting a non existing config symbol which hurts bisectability.
baruch
-- http://baruch.siach.name/blog/ ~. .~ Tk Open Systems =}------------------------------------------------ooO--U--Ooo------------{= - baruch@tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -
On Tue, Jan 29, 2019 at 01:40:01PM +0200, Baruch Siach wrote:
Hi Joakim,
On Tue, Jan 29 2019, Joakim Bech wrote:
So after looking a bit more into the git log of how patches where created in the past it looks like I should create 4 patches, "pseudo git log -4".
- toolchain-external: update Arm ARM 8.2-2019.01
- toolchain-external: update Arm AArch64-BE toolchain 8.2-2019.01
- toolchain-external: update Arm AArch64 toolchain 8.2-2019.01
- toolchain: add necessary options to support 5.0 kernel headers
The v5.0 headers patch should be the first in the series. Otherwise the toolchains will be selecting a non existing config symbol which hurts bisectability.
Thanks for confirming, since I was thinking about that myself also.