Go to file
Yann E. MORIN c1cfee290e support/check-rpath: recognise PIE
We sanity-check the host executables that they have a correct RPATH
pointing to the host libraries.

This is currently done by looking for all files in $(HOST_DIR) that
match the 'ELF executable' pattern (a bit more complex, but that's
idea).

However, when an executable is built with -fPIE of -fpie, it no longer
appears to be an 'ELF executable', but it rather looks like an 'ELF
sheard object' (like if it were an library.

So, we miss those files.

It turns out that the problem is a real one, because quite a few
mainline distros, expecially those based on Debian for example, have
already switched to generating PIE code by default, and thus we miss on
a whole class of systems..

We fix that by simply looking if we can find an ELF interpreter in each
file. If we there is one, this is an ELF executable; if not, it may be
anything else: we don't care (not even about ELF libraries).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2017-09-27 00:13:55 +02:00
arch
board wandboard: genimage: Pass an offset for the rootfs 2017-09-26 23:52:15 +02:00
boot boot/grub: remove 2017-09-23 20:29:37 +02:00
configs configs/wandboard: Bump U-Boot and kernel versions 2017-09-26 23:53:13 +02:00
docs docs/website: update for 2017.02.6 2017-09-24 22:47:01 +02:00
fs fs/iso9660: remove support for grub 2017-09-23 20:23:12 +02:00
linux linux: bump default to version 4.13.3 2017-09-20 19:19:17 +02:00
package nginx (S50nginx): Fix stop, reload, restart. Add force-reload. 2017-09-27 00:12:55 +02:00
support support/check-rpath: recognise PIE 2017-09-27 00:13:55 +02:00
system
toolchain
utils
.defconfig
.gitignore
.gitlab-ci.yml configs: Add qemu_ppc64le_pseries 2017-09-26 23:50:14 +02:00
.gitlab-ci.yml.in
CHANGES Update for 2017.02.6 2017-09-24 22:54:12 +02:00
Config.in
Config.in.legacy package/openobex: bump version to 1.7.2 2017-09-24 15:21:15 +02:00
COPYING
DEVELOPERS configs: Add qemu_ppc64le_pseries 2017-09-26 23:50:14 +02:00
Makefile
Makefile.legacy
README

Buildroot is a simple, efficient and easy-to-use tool to generate embedded
Linux systems through cross-compilation.

The documentation can be found in docs/manual. You can generate a text
document with 'make manual-text' and read output/docs/manual/manual.text.
Online documentation can be found at http://buildroot.org/docs.html

To build and use the buildroot stuff, do the following:

1) run 'make menuconfig'
2) select the target architecture and the packages you wish to compile
3) run 'make'
4) wait while it compiles
5) find the kernel, bootloader, root filesystem, etc. in output/images

You do not need to be root to build or run buildroot.  Have fun!

Buildroot comes with a basic configuration for a number of boards. Run
'make list-defconfigs' to view the list of provided configurations.

Please feed suggestions, bug reports, insults, and bribes back to the
buildroot mailing list: buildroot@buildroot.org
You can also find us on #buildroot on Freenode IRC.

If you would like to contribute patches, please read
https://buildroot.org/manual.html#submitting-patches