[OE-core] [PATCH] binutils-crossdk: Fix interp size expansion

Khem Raj raj.khem at gmail.com
Tue Oct 2 07:33:16 UTC 2012


i need to check it with 1 more case. Please hold on for applying it. I
welcome testing

On Mon, Oct 1, 2012 at 10:36 PM, Khem Raj <raj.khem at gmail.com> wrote:
> Currently for sdk binutils we expand the size of .interp
> section to 0x1000 assuming that its at the beginning of
> the linker map but there may be program header before that
> so actually we want to add 0x1000 - sizeof(.interp) section
> to current location and not assign is absolutely to 0x1000
>
> This fixes errors like
>
> built in linker script:11 cannot move location counter backwards (from
> 0000000000401054 to 0000000000401000)
>
> Signed-off-by: Khem Raj <raj.khem at gmail.com>
> ---
>  .../binutils/binutils-crosssdk_2.22.bb             |    2 +-
>  .../binutils/binutils/relocatable_sdk.patch        |   10 +++++-----
>  2 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/meta/recipes-devtools/binutils/binutils-crosssdk_2.22.bb b/meta/recipes-devtools/binutils/binutils-crosssdk_2.22.bb
> index c936549..d3c25b6 100644
> --- a/meta/recipes-devtools/binutils/binutils-crosssdk_2.22.bb
> +++ b/meta/recipes-devtools/binutils/binutils-crosssdk_2.22.bb
> @@ -2,7 +2,7 @@ require binutils-cross_${PV}.bb
>
>  inherit crosssdk
>
> -PR = "r1"
> +PR = "r2"
>
>  PROVIDES = "virtual/${TARGET_PREFIX}binutils-crosssdk"
>
> diff --git a/meta/recipes-devtools/binutils/binutils/relocatable_sdk.patch b/meta/recipes-devtools/binutils/binutils/relocatable_sdk.patch
> index 33f9e68..4a2494a 100644
> --- a/meta/recipes-devtools/binutils/binutils/relocatable_sdk.patch
> +++ b/meta/recipes-devtools/binutils/binutils/relocatable_sdk.patch
> @@ -7,16 +7,16 @@ by the relocating script.
>
>  Signed-off-by: Laurentiu Palcu <laurentiu.palcu at intel.com>
>
> -Index: binutils-2.22/ld/scripttempl/elf.sc
> +Index: git/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
> +--- git.orig/ld/scripttempl/elf.sc     2012-10-01 21:42:18.729294685 -0700
> ++++ git/ld/scripttempl/elf.sc  2012-10-01 22:26:35.149173335 -0700
> +@@ -125,7 +125,7 @@
>     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; }"
> ++  INITIAL_READONLY_SECTIONS=".interp       ${RELOCATING-0} : { *(.interp); . = (. & 0x1000) + 0x1000; }"
>   fi
>   if test -z "$PLT"; then
>     IPLT=".iplt         ${RELOCATING-0} : { *(.iplt) }"
> --
> 1.7.9.5
>




More information about the Openembedded-core mailing list