Go to file
Yann E. MORIN 0e6fb50dc0 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>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-10-17 10:30:34 +02:00
arch arch/arm: add big.LITTLE cpu variants 2017-07-22 23:29:24 +02:00
board wandboard: genimage: Pass an offset for the rootfs 2017-10-16 23:38:12 +02:00
boot grub2: force -fno-stack-protector in CFLAGS 2017-08-30 22:09:21 +02:00
configs configs/minnowboard_max-graphical: wchar/grub2 fix 2017-10-16 23:02:52 +02:00
docs docs: clarify <packagename>_PATCH behaviour 2017-10-16 23:34:24 +02:00
fs fs/iso9660: really create initrd temp dir 2017-08-15 17:50:11 +02:00
linux linux: bump cip version to v4.4.83-cip8 2017-10-16 22:53:56 +02:00
package nginx (S50nginx): Fix stop, reload, restart. Add force-reload. 2017-10-17 10:29:31 +02:00
support support/check-rpath: recognise PIE 2017-10-17 10:30:34 +02:00
system skeleton: Rename skeleton-sysv to skeleton-init-sysv 2017-08-14 21:52:45 +02:00
toolchain toolchain: detect external glibc in merged /usr 2017-10-16 23:21:55 +02:00
utils utils/readme.txt: add documentation of genrandconfig 2017-07-29 15:41:09 +02:00
.defconfig arch: remove support for sh64 2016-09-08 22:15:15 +02:00
.gitignore
.gitlab-ci.yml board: remove Armadeus's APF9328 support 2017-08-21 23:23:16 +02:00
.gitlab-ci.yml.in .gitlab-ci.yml: use large timeouts for runtime tests 2017-08-10 10:08:55 +02:00
CHANGES Update for 2017.08 2017-09-02 01:17:43 +02:00
Config.in Config.in: add BR2_HOST_GCC_AT_LEAST_7 2017-07-05 16:20:27 +02:00
Config.in.legacy package/simicsfs: remove package 2017-08-30 22:16:37 +02:00
COPYING
DEVELOPERS package/simicsfs: remove package 2017-08-30 22:16:37 +02:00
Makefile Update for 2017.08 2017-09-02 01:17:43 +02:00
Makefile.legacy Remove BR2_DEPRECATED 2016-10-15 23:14:45 +02:00
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