diff --git a/config/optimize b/config/optimize index 83db6124da..32eba8d5ec 100644 --- a/config/optimize +++ b/config/optimize @@ -27,6 +27,11 @@ if [ "$LTO_SUPPORT" = yes ];then LD_OPTIM="$LD_OPTIM -flto" fi +if [ "$PRELINK_SUPPORT" = yes ]; then + GCC_OPTIM="$GCC_OPTIM -fPIC" + LD_OPTIM="$LD_OPTIM -fPIC" +fi + if [ "$DEBUG" = yes ]; then TARGET_CFLAGS="$TARGET_CFLAGS -ggdb" TARGET_CXXFLAGS="$TARGET_CXXFLAGS -ggdb" diff --git a/projects/ATV/options b/projects/ATV/options index 493092f312..7953d0da31 100755 --- a/projects/ATV/options +++ b/projects/ATV/options @@ -91,6 +91,9 @@ # LTO (Link Time Optimization) support LTO_SUPPORT="no" +# Prelink binarys and librarys + PRELINK_SUPPORT="yes" + # Bootloader to use (syslinux / u-boot / atv-bootloader) # BOOTLOADER="atv-bootloader" disabled for now BOOTLOADER="" diff --git a/projects/Fusion/options b/projects/Fusion/options index 350ade9091..7c66f375fa 100755 --- a/projects/Fusion/options +++ b/projects/Fusion/options @@ -91,6 +91,9 @@ # LTO (Link Time Optimization) support LTO_SUPPORT="no" +# Prelink binarys and librarys + PRELINK_SUPPORT="yes" + # Bootloader to use (syslinux / u-boot / atv-bootloader) BOOTLOADER="syslinux" diff --git a/projects/Generic/options b/projects/Generic/options index 4254862de0..d095733c31 100755 --- a/projects/Generic/options +++ b/projects/Generic/options @@ -91,6 +91,9 @@ # LTO (Link Time Optimization) support LTO_SUPPORT="no" +# Prelink binarys and librarys + PRELINK_SUPPORT="yes" + # Bootloader to use (syslinux / u-boot / atv-bootloader) BOOTLOADER="syslinux" diff --git a/projects/Generic_OSS/options b/projects/Generic_OSS/options index 6129e8ef72..c03ecbf021 100755 --- a/projects/Generic_OSS/options +++ b/projects/Generic_OSS/options @@ -91,6 +91,9 @@ # LTO (Link Time Optimization) support LTO_SUPPORT="no" +# Prelink binarys and librarys + PRELINK_SUPPORT="yes" + # Bootloader to use (syslinux / u-boot / atv-bootloader) BOOTLOADER="syslinux" diff --git a/projects/ION/options b/projects/ION/options index 76ae65c5cc..05f969a152 100755 --- a/projects/ION/options +++ b/projects/ION/options @@ -91,6 +91,9 @@ # LTO (Link Time Optimization) support LTO_SUPPORT="no" +# Prelink binarys and librarys + PRELINK_SUPPORT="yes" + # Bootloader to use (syslinux / u-boot / atv-bootloader) BOOTLOADER="syslinux" diff --git a/projects/Intel/options b/projects/Intel/options index f9080720f2..399081ae45 100755 --- a/projects/Intel/options +++ b/projects/Intel/options @@ -91,6 +91,9 @@ # LTO (Link Time Optimization) support LTO_SUPPORT="no" +# Prelink binarys and librarys + PRELINK_SUPPORT="yes" + # Bootloader to use (syslinux / u-boot / atv-bootloader) BOOTLOADER="syslinux" diff --git a/projects/RPi/options b/projects/RPi/options index cf5ce741e8..1073180b34 100755 --- a/projects/RPi/options +++ b/projects/RPi/options @@ -82,8 +82,6 @@ ;; esac - - # Build optimizations (size/normal/speed) OPTIMIZATIONS="speed" @@ -93,6 +91,9 @@ # LTO (Link Time Optimization) support LTO_SUPPORT="no" +# Prelink binarys and librarys + PRELINK_SUPPORT="yes" + # Bootloader to use (syslinux / u-boot / atv-bootloader / bcm2835-bootloader) BOOTLOADER="bcm2835-bootloader" diff --git a/projects/Ultra/options b/projects/Ultra/options index 3ab1ee6cf7..e006a66f1a 100755 --- a/projects/Ultra/options +++ b/projects/Ultra/options @@ -91,6 +91,9 @@ # LTO (Link Time Optimization) support LTO_SUPPORT="no" +# Prelink binarys and librarys + PRELINK_SUPPORT="yes" + # Bootloader to use (syslinux / u-boot / atv-bootloader) BOOTLOADER="syslinux" diff --git a/projects/Virtual/options b/projects/Virtual/options index b409cc812d..467a645fda 100755 --- a/projects/Virtual/options +++ b/projects/Virtual/options @@ -86,6 +86,9 @@ # LTO (Link Time Optimization) support LTO_SUPPORT="no" +# Prelink binarys and librarys + PRELINK_SUPPORT="yes" + # Bootloader to use (syslinux / u-boot / atv-bootloader) BOOTLOADER="syslinux" diff --git a/scripts/image b/scripts/image index 1101a7e9ba..ad344792d8 100755 --- a/scripts/image +++ b/scripts/image @@ -159,8 +159,11 @@ IMAGE_NAME="$DISTRONAME-$TARGET_VERSION" $STRIP --strip-debug $MOD done +if [ "$PRELINK_SUPPORT" = "yes" ]; then $SCRIPTS/install prelink-cross $TOOLCHAIN/sbin/prelink -amRvf --root=$INSTALL + rm -rf $INSTALL/etc/prelink.conf +fi # make target dir mkdir -p $TARGET_IMG