summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/recipes-devtools/binutils/binutils-crosssdk_2.22.bb5
-rw-r--r--meta/recipes-devtools/binutils/binutils/relocatable_sdk.patch22
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
2 2
3inherit crosssdk 3inherit crosssdk
4 4
5PR = "r1"
6
5PROVIDES = "virtual/${TARGET_PREFIX}binutils-crosssdk" 7PROVIDES = "virtual/${TARGET_PREFIX}binutils-crosssdk"
6 8
9
10SRC_URI += "file://relocatable_sdk.patch"
11
7do_configure_prepend () { 12do_configure_prepend () {
8 sed -i 's#/usr/local/lib /lib /usr/lib#${SDKPATHNATIVE}/lib ${SDKPATHNATIVE}/usr/lib /usr/local/lib /lib /usr/lib#' ${S}/ld/configure.tgt 13 sed -i 's#/usr/local/lib /lib /usr/lib#${SDKPATHNATIVE}/lib ${SDKPATHNATIVE}/usr/lib /usr/local/lib /lib /usr/lib#' ${S}/ld/configure.tgt
9} 14}
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 @@
1Upstream-Status: Inappropriate [SDK specific]
2
3This patch will modify the ELF linker scripts so that the crosssdk linker will
4generate binaries with a 4096 bytes PT_INTERP section. When the binaries will
5be relocated, at SDK install time, the interpreter path can be easily changed
6by the relocating script.
7
8Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
9
10Index: binutils-2.22/ld/scripttempl/elf.sc
11===================================================================
12--- binutils-2.22.orig/ld/scripttempl/elf.sc
13+++ binutils-2.22/ld/scripttempl/elf.sc
14@@ -116,7 +116,7 @@ if test -n "${COMMONPAGESIZE}"; then
15 DATA_SEGMENT_RELRO_END=". = DATA_SEGMENT_RELRO_END (${SEPARATE_GOTPLT-0}, .);"
16 fi
17 if test -z "${INITIAL_READONLY_SECTIONS}${CREATE_SHLIB}"; then
18- INITIAL_READONLY_SECTIONS=".interp ${RELOCATING-0} : { *(.interp) }"
19+ INITIAL_READONLY_SECTIONS=".interp ${RELOCATING-0} : { *(.interp); . = 0x1000; }"
20 fi
21 if test -z "$PLT"; then
22 IPLT=".iplt ${RELOCATING-0} : { *(.iplt) }"