diff options
Diffstat (limited to 'meta/recipes-devtools/binutils/binutils-2.23.1/relocatable_sdk.patch')
-rw-r--r-- | meta/recipes-devtools/binutils/binutils-2.23.1/relocatable_sdk.patch | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/meta/recipes-devtools/binutils/binutils-2.23.1/relocatable_sdk.patch b/meta/recipes-devtools/binutils/binutils-2.23.1/relocatable_sdk.patch new file mode 100644 index 0000000000..7408c31aad --- /dev/null +++ b/meta/recipes-devtools/binutils/binutils-2.23.1/relocatable_sdk.patch | |||
@@ -0,0 +1,49 @@ | |||
1 | Upstream-Status: Inappropriate [SDK specific] | ||
2 | |||
3 | This patch will modify the ELF linker scripts so that the crosssdk linker will | ||
4 | generate binaries with a 4096 bytes PT_INTERP section. When the binaries will | ||
5 | be relocated, at SDK install time, the interpreter path can be easily changed | ||
6 | by the relocating script. | ||
7 | |||
8 | Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> | ||
9 | |||
10 | Index: binutils_git/ld/genscripts.sh | ||
11 | =================================================================== | ||
12 | --- binutils_git.orig/ld/genscripts.sh 2012-11-21 11:58:23.325441925 +0200 | ||
13 | +++ binutils_git/ld/genscripts.sh 2012-11-21 12:03:42.106815400 +0200 | ||
14 | @@ -290,6 +290,7 @@ | ||
15 | LD_FLAG=r | ||
16 | DATA_ALIGNMENT=${DATA_ALIGNMENT_r} | ||
17 | DEFAULT_DATA_ALIGNMENT="ALIGN(${SEGMENT_SIZE})" | ||
18 | +PARTIAL_LINKING=" " | ||
19 | ( echo "/* Script for ld -r: link without relocation */" | ||
20 | . ${CUSTOMIZER_SCRIPT} | ||
21 | . ${srcdir}/scripttempl/${SCRIPT_NAME}.sc | ||
22 | @@ -298,10 +299,12 @@ | ||
23 | LD_FLAG=u | ||
24 | DATA_ALIGNMENT=${DATA_ALIGNMENT_u} | ||
25 | CONSTRUCTING=" " | ||
26 | +PARTIAL_LINKING=" " | ||
27 | ( echo "/* Script for ld -Ur: link w/out relocation, do create constructors */" | ||
28 | . ${CUSTOMIZER_SCRIPT} | ||
29 | . ${srcdir}/scripttempl/${SCRIPT_NAME}.sc | ||
30 | ) | sed -e '/^ *$/d;s/[ ]*$//' > ldscripts/${EMULATION_NAME}.xu | ||
31 | +unset PARTIAL_LINKING | ||
32 | |||
33 | LD_FLAG= | ||
34 | DATA_ALIGNMENT=${DATA_ALIGNMENT_} | ||
35 | Index: binutils_git/ld/scripttempl/elf.sc | ||
36 | =================================================================== | ||
37 | --- binutils_git.orig/ld/scripttempl/elf.sc 2012-11-21 12:02:26.800377384 +0200 | ||
38 | +++ binutils_git/ld/scripttempl/elf.sc 2012-11-21 12:04:16.166109621 +0200 | ||
39 | @@ -124,8 +124,8 @@ | ||
40 | DATA_SEGMENT_END=". = DATA_SEGMENT_END (.);" | ||
41 | DATA_SEGMENT_RELRO_END=". = DATA_SEGMENT_RELRO_END (${SEPARATE_GOTPLT-0}, .);" | ||
42 | fi | ||
43 | -if test -z "${INITIAL_READONLY_SECTIONS}${CREATE_SHLIB}"; then | ||
44 | - INITIAL_READONLY_SECTIONS=".interp ${RELOCATING-0} : { *(.interp) }" | ||
45 | +if test -z "${INITIAL_READONLY_SECTIONS}${CREATE_SHLIB}${PARTIAL_LINKING}"; then | ||
46 | + INITIAL_READONLY_SECTIONS=".interp ${RELOCATING-0} : { *(.interp); . = 0x1000; }" | ||
47 | fi | ||
48 | if test -z "$PLT"; then | ||
49 | IPLT=".iplt ${RELOCATING-0} : { *(.iplt) }" | ||