Openwrt/scripts
Jo-Philipp Wich 72d751cba9 build: rework library bundling
Rework the bundle-libraries.sh implementation to use a more robust approach
for executing host binaries through the shipped ELF loader and libraries.

The previous approach relied on symlinks pointing to a wrapper script which
caused various issues, especially with multicall binaries as the original
argv[0] name was not preserved through the ld.so invocation. Another down-
side was the fact that the actual binaries got moved into another directory
which caused executables to fail looking up resources with paths relative
to the executable location.

The new library wrapper implements the following improvements:

 - Instead of symlinks pointing to a common wrapper, each ELF executable
   is now replaced by a unqiue shell script which retains the original
   program name getting called

 - Instead of letting ld.so invoke the ELF executable directly, launch
   the final ELF binary through a helper program which fixes up the argv[0]
   argument for the target program

 - Support sharing a common location for the bundled libraries instead of
   having one copy in each directory containing wrapped binaries

Finally modify the SDK build to wrap the staging_dir and toolchain binaries
which allows to use the SDK on systems with a different glibc version.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-01-10 12:27:28 +01:00
..
config
flashing
arm-magic.sh
brcmImage.pl
bundle-libraries.sh build: rework library bundling 2017-01-10 12:27:28 +01:00
checkpatch.pl docs: remove all refrences in Makefiles/scripts 2016-11-30 10:13:14 +01:00
clang-gcc-wrapper
clean-package.sh
cleanfile
cleanpatch
combined-ext-image.sh build: use mkhash to replace various quirky md5sum/openssl calls 2017-01-05 11:09:12 +01:00
combined-image.sh build: use mkhash to replace various quirky md5sum/openssl calls 2017-01-05 11:09:12 +01:00
config.guess
config.rpath
config.sub
deptest.sh
diffconfig.sh scripts/diffconfig.sh: fix output if TARGET_PER_DEVICE_ROOTFS is set 2016-10-06 22:00:10 +02:00
dl_cleanup.py
download.pl build: use mkhash to replace various quirky md5sum/openssl calls 2017-01-05 11:09:12 +01:00
env
ext-toolchain.sh
feeds scripts/feeds: use git rev-parse for getting revision 2016-11-08 11:17:11 +01:00
fixup-makefile.pl build: add FIXUP option for make check 2016-12-17 10:36:45 +01:00
gen-dependencies.sh
get_source_date_epoch.sh
getver.sh scripts: getver.sh: append Git short hash to revision 2016-12-02 16:38:55 +01:00
ipkg-build
ipkg-make-index.sh build: use mkhash to replace various quirky md5sum/openssl calls 2017-01-05 11:09:12 +01:00
kconfig.pl
make-ipkg-dir.sh
md5sum
metadata.pm
mkhash.c build: add a small standalone utility for calculating md5/sha256 hash 2017-01-05 11:09:12 +01:00
mkits.sh
om-fwupgradecfg-gen.sh build: use mkhash to replace various quirky md5sum/openssl calls 2017-01-05 11:09:12 +01:00
openbsd.sh
package-metadata.pl scripts/package-metadata.pl: honour DEFAULT_VARIANT 2016-11-02 02:02:44 +01:00
pad_image
patch-kernel.sh
patch-specs.sh
portable_date.sh
redboot-script.pl
relink-lib.sh
remote-gdb
rstrip.sh
slugimage.pl
srecimage.pl
strip-kmod.sh
symlink-tree.sh docs: remove all refrences in Makefiles/scripts 2016-11-30 10:13:14 +01:00
sysupgrade-tar.sh
target-metadata.pl scripts: case insensitive sort device names 2016-10-15 11:36:51 +02:00
timestamp.pl
ubinize-image.sh