diff options
Diffstat (limited to 'meta/recipes-devtools/binutils')
-rw-r--r-- | meta/recipes-devtools/binutils/binutils-crosssdk_2.22.bb | 5 | ||||
-rw-r--r-- | meta/recipes-devtools/binutils/binutils/relocatable_sdk.patch | 22 |
2 files changed, 27 insertions, 0 deletions
diff --git a/meta/recipes-devtools/binutils/binutils-crosssdk_2.22.bb b/meta/recipes-devtools/binutils/binutils-crosssdk_2.22.bb index 0eb5684e81..c93654992a 100644 --- a/meta/recipes-devtools/binutils/binutils-crosssdk_2.22.bb +++ b/meta/recipes-devtools/binutils/binutils-crosssdk_2.22.bb @@ -2,8 +2,13 @@ require binutils-cross_${PV}.bb inherit crosssdk +PR = "r1" + PROVIDES = "virtual/${TARGET_PREFIX}binutils-crosssdk" + +SRC_URI += "file://relocatable_sdk.patch" + do_configure_prepend () { sed -i 's#/usr/local/lib /lib /usr/lib#${SDKPATHNATIVE}/lib ${SDKPATHNATIVE}/usr/lib /usr/local/lib /lib /usr/lib#' ${S}/ld/configure.tgt } diff --git a/meta/recipes-devtools/binutils/binutils/relocatable_sdk.patch b/meta/recipes-devtools/binutils/binutils/relocatable_sdk.patch new file mode 100644 index 0000000000..33f9e68b5f --- /dev/null +++ b/meta/recipes-devtools/binutils/binutils/relocatable_sdk.patch @@ -0,0 +1,22 @@ +Upstream-Status: Inappropriate [SDK specific] + +This patch will modify the ELF linker scripts so that the crosssdk linker will +generate binaries with a 4096 bytes PT_INTERP section. When the binaries will +be relocated, at SDK install time, the interpreter path can be easily changed +by the relocating script. + +Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> + +Index: binutils-2.22/ld/scripttempl/elf.sc +=================================================================== +--- binutils-2.22.orig/ld/scripttempl/elf.sc ++++ binutils-2.22/ld/scripttempl/elf.sc +@@ -116,7 +116,7 @@ if test -n "${COMMONPAGESIZE}"; then + DATA_SEGMENT_RELRO_END=". = DATA_SEGMENT_RELRO_END (${SEPARATE_GOTPLT-0}, .);" + fi + if test -z "${INITIAL_READONLY_SECTIONS}${CREATE_SHLIB}"; then +- INITIAL_READONLY_SECTIONS=".interp ${RELOCATING-0} : { *(.interp) }" ++ INITIAL_READONLY_SECTIONS=".interp ${RELOCATING-0} : { *(.interp); . = 0x1000; }" + fi + if test -z "$PLT"; then + IPLT=".iplt ${RELOCATING-0} : { *(.iplt) }" |