From patchwork Fri Jul 27 11:21:43 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [2/6] binutils: relocatable SDK: change PT_INTERP section size Date: Fri, 27 Jul 2012 11:21:43 -0000 From: Laurentiu Palcu X-Patchwork-Id: 33195 Message-Id: <7f3f04caee7e265481f88c333ffae491a9d137db.1343387245.git.laurentiu.palcu@intel.com> To: openembedded-core@lists.openembedded.org This patch is needed so that all SDK binaries have the PT_INTERP section size set to 4096 (max path size in Linux) in order to be able to parse the binaries later and change the interpreter to the path we want. Signed-off-by: Laurentiu Palcu --- .../binutils/binutils-crosssdk_2.22.bb | 5 +++++ .../binutils/binutils/relocatable_sdk.patch | 13 +++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 meta/recipes-devtools/binutils/binutils/relocatable_sdk.patch diff --git a/meta/recipes-devtools/binutils/binutils-crosssdk_2.22.bb b/meta/recipes-devtools/binutils/binutils-crosssdk_2.22.bb index 0eb5684..c936549 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 0000000..09cb925 --- /dev/null +++ b/meta/recipes-devtools/binutils/binutils/relocatable_sdk.patch @@ -0,0 +1,13 @@ +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) }"