diff mbox series

Config.in: disable PIC/PIE for microblaze

Message ID 20210612102449.8429-1-romain.naour@gmail.com
State Accepted
Headers show
Series Config.in: disable PIC/PIE for microblaze | expand

Commit Message

Romain Naour June 12, 2021, 10:24 a.m. UTC
As reported by Toolchain-builder project [1], the system doesn't
boot when PIC/PIE is enabled for glibc based toolchain (the init
process hang).

Also, hardening features may not be wanted or possible for such
slow soft-core cpus [2].

Like for NiosII, disable BR2_PIC_PIE.

[1] https://gitlab.com/bootlin/toolchains-builder/-/pipelines/318038406
[2] http://lists.busybox.net/pipermail/buildroot/2021-June/312416.html

Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
 Config.in | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Thomas Petazzoni July 25, 2021, 1:49 p.m. UTC | #1
On Sat, 12 Jun 2021 12:24:49 +0200
Romain Naour <romain.naour@gmail.com> wrote:

> As reported by Toolchain-builder project [1], the system doesn't
> boot when PIC/PIE is enabled for glibc based toolchain (the init
> process hang).
> 
> Also, hardening features may not be wanted or possible for such
> slow soft-core cpus [2].
> 
> Like for NiosII, disable BR2_PIC_PIE.
> 
> [1] https://gitlab.com/bootlin/toolchains-builder/-/pipelines/318038406
> [2] http://lists.busybox.net/pipermail/buildroot/2021-June/312416.html
> 
> Signed-off-by: Romain Naour <romain.naour@gmail.com>
> ---
>  Config.in | 5 +++++
>  1 file changed, 5 insertions(+)

I have introduced a preparation patch that adds a hidden
BR2_PIC_PIE_ARCH_SUPPORTS boolean, and then made use of it to exclude
Microblaze from PIC/PIE. It makes the whole thing a bit clearer IMO.

So, in short: applied, with those changes!

Thanks,

Thomas
diff mbox series

Patch

diff --git a/Config.in b/Config.in
index c05485173b..7f2ee553a5 100644
--- a/Config.in
+++ b/Config.in
@@ -729,7 +729,9 @@  comment "Security Hardening Options"
 config BR2_PIC_PIE
 	bool "Build code with PIC/PIE"
 	default y
+	# 'Hardening' features are not recommended/wanted for soft-core cpus.
 	# Nios2 toolchains produce non working binaries with -fPIC
+	depends on !BR2_microblaze
 	depends on !BR2_nios2
 	depends on BR2_SHARED_LIBS
 	depends on BR2_TOOLCHAIN_SUPPORTS_PIE
@@ -738,6 +740,7 @@  config BR2_PIC_PIE
 	  Position-Independent Executables (PIE).
 
 comment "PIC/PIE needs a toolchain w/ PIE"
+	depends on !BR2_microblaze
 	depends on !BR2_nios2
 	depends on BR2_SHARED_LIBS
 	depends on !BR2_TOOLCHAIN_SUPPORTS_PIE
@@ -829,6 +832,7 @@  config BR2_RELRO_PARTIAL
 
 config BR2_RELRO_FULL
 	bool "Full"
+	depends on !BR2_microblaze # BR2_PIC_PIE
 	depends on !BR2_nios2 # BR2_PIC_PIE
 	depends on BR2_TOOLCHAIN_SUPPORTS_PIE
 	select BR2_PIC_PIE
@@ -838,6 +842,7 @@  config BR2_RELRO_FULL
 	  program loading, i.e every time an executable is started.
 
 comment "RELRO Full needs a toolchain w/ PIE"
+	depends on !BR2_microblaze
 	depends on !BR2_nios2
 	depends on !BR2_TOOLCHAIN_SUPPORTS_PIE