Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 1/1] Config.in: disable PIC/PIE if the toolchain does not support PIE
Date: Mon, 28 Oct 2019 00:10:19 +0100	[thread overview]
Message-ID: <20191027231019.GA2612@scaer> (raw)
In-Reply-To: <20191027220334.23505-1-fontaine.fabrice@gmail.com>

Fabrice, All,

On 2019-10-27 23:03 +0100, Fabrice Fontaine spake thusly:
> m68k does not seem to really support PIE as it raises the following
> build failure with aer-inject:
> /usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-1/output/host/opt/ext-toolchain/bin/../lib/gcc/m68k-buildroot-linux-uclibc/7.4.0/../../../../m68k-buildroot-linux-uclibc/bin/ld: /usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-1/output/host/m68k-buildroot-linux-uclibc/sysroot/usr/lib/Scrt1.o: in function `lib_main':
> (.text+0x4): undefined reference to `__shared_flat_add_library'
> /usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-1/output/host/opt/ext-toolchain/bin/../lib/gcc/m68k-buildroot-linux-uclibc/7.4.0/../../../../m68k-buildroot-linux-uclibc/bin/ld: final link failed: bad value
> 
> We also have another build failure with uclibc on microblazeel:
> /home/buildroot/autobuild/instance-1/output-1/host/lib/gcc/microblazeel-buildroot-linux-uclibc/8.3.0/../../../../microblazeel-buildroot-linux-uclibc/bin/ld: final link failed: bad value
> collect2: error: ld returned 1 exit status
> Makefile.in:114: recipe for target '../utils/getconf' failed
> 
> So add a BR2_TOOLCHAIN_SUPPORTS_PIE dependency on BR2_PIC_PIE
> 
> Fixes:
>  - http://autobuild.buildroot.net/results/4cdd6f0368cc9d3c6e88f01b1a8929eb0839b638
>  - http://autobuild.buildroot.net/results/a82a484409149d7f9aff6140ddcb89f627f508c7
> 
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>

Reviewed-by: Yann E. MORIN <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

> ---
>  Config.in | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/Config.in b/Config.in
> index ebbb6b41f4..010b0774e3 100644
> --- a/Config.in
> +++ b/Config.in
> @@ -697,10 +697,15 @@ comment "Security Hardening Options"
>  config BR2_PIC_PIE
>  	bool "Build code with PIC/PIE"
>  	depends on BR2_SHARED_LIBS
> +	depends on BR2_TOOLCHAIN_SUPPORTS_PIE
>  	help
>  	  Generate Position-Independent Code (PIC) and link
>  	  Position-Independent Executables (PIE).
>  
> +comment "PIC/PIE needs a toolchain w/ PIE"
> +	depends on BR2_SHARED_LIBS
> +	depends on !BR2_TOOLCHAIN_SUPPORTS_PIE
> +
>  choice
>  	bool "Stack Smashing Protection"
>  	default BR2_SSP_ALL if BR2_ENABLE_SSP # legacy
> @@ -783,12 +788,16 @@ config BR2_RELRO_PARTIAL
>  
>  config BR2_RELRO_FULL
>  	bool "Full"
> +	depends on BR2_TOOLCHAIN_SUPPORTS_PIE
>  	select BR2_PIC_PIE
>  	help
>  	  This option includes the partial configuration, but also marks
>  	  the GOT as read-only at the cost of initialization time during
>  	  program loading, i.e every time an executable is started.
>  
> +comment "RELRO Full needs a toolchain w/ PIE"
> +	depends on !BR2_TOOLCHAIN_SUPPORTS_PIE
> +
>  endchoice
>  
>  comment "RELocation Read Only (RELRO) needs shared libraries"
> -- 
> 2.23.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

  reply	other threads:[~2019-10-27 23:10 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-27 22:03 [Buildroot] [PATCH 1/1] Config.in: disable PIC/PIE if the toolchain does not support PIE Fabrice Fontaine
2019-10-27 23:10 ` Yann E. MORIN [this message]
2019-10-27 23:21 ` Matthew Weber
2019-10-28  8:32   ` Fabrice Fontaine
2019-10-28  8:38     ` Fabrice Fontaine
2019-10-28  7:44 ` Peter Korsgaard
2019-10-31 20:08 ` Peter Korsgaard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191027231019.GA2612@scaer \
    --to=yann.morin.1998@free.fr \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox