Config.in: add BR2_PIC_PIE_ARCH_SUPPORTS hidden option
authorThomas Petazzoni <thomas.petazzoni@bootlin.com>
Sun, 25 Jul 2021 13:45:19 +0000 (15:45 +0200)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Sun, 25 Jul 2021 13:48:13 +0000 (15:48 +0200)
The nios2 architecture is already excluded from PIC/PIE due to issues,
and we're going to also exclude Microblaze, so let's introduce a
BR2_PIC_PIE_ARCH_SUPPORTS hidden boolean to facilitate adding this new
architecture exclusion.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Config.in

index c05485173b0cdc785669f21425e8d3a8438432ff..a146ba0f437d6c2e515a3aed614b65a22ba48bf7 100644 (file)
--- a/Config.in
+++ b/Config.in
@@ -726,11 +726,16 @@ endmenu
 
 comment "Security Hardening Options"
 
-config BR2_PIC_PIE
-       bool "Build code with PIC/PIE"
+config BR2_PIC_PIE_ARCH_SUPPORTS
+       bool
        default y
        # Nios2 toolchains produce non working binaries with -fPIC
        depends on !BR2_nios2
+
+config BR2_PIC_PIE
+       bool "Build code with PIC/PIE"
+       default y
+       depends on BR2_PIC_PIE_ARCH_SUPPORTS
        depends on BR2_SHARED_LIBS
        depends on BR2_TOOLCHAIN_SUPPORTS_PIE
        help
@@ -738,7 +743,7 @@ config BR2_PIC_PIE
          Position-Independent Executables (PIE).
 
 comment "PIC/PIE needs a toolchain w/ PIE"
-       depends on !BR2_nios2
+       depends on BR2_PIC_PIE_ARCH_SUPPORTS
        depends on BR2_SHARED_LIBS
        depends on !BR2_TOOLCHAIN_SUPPORTS_PIE
 
@@ -829,7 +834,7 @@ config BR2_RELRO_PARTIAL
 
 config BR2_RELRO_FULL
        bool "Full"
-       depends on !BR2_nios2 # BR2_PIC_PIE
+       depends on BR2_PIC_PIE_ARCH_SUPPORTS
        depends on BR2_TOOLCHAIN_SUPPORTS_PIE
        select BR2_PIC_PIE
        help
@@ -838,7 +843,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_nios2
+       depends on BR2_PIC_PIE_ARCH_SUPPORTS
        depends on !BR2_TOOLCHAIN_SUPPORTS_PIE
 
 endchoice