diff options
author | florian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2010-04-30 12:20:24 +0000 |
---|---|---|
committer | florian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2010-04-30 12:20:24 +0000 |
commit | 5df1ac31daa98afea347573820a695cb6c66e914 (patch) | |
tree | 88a983d9f68c2c1539384917897e0b20514c462d /target/linux | |
parent | 96cbb6e41487a217783e602583feca008c628b9c (diff) |
[uml] add upstream patch to fix linking failures on '__rela_iplt_end'
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21267 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux')
3 files changed, 162 insertions, 0 deletions
diff --git a/target/linux/uml/patches-2.6.30/006-uml_libc_link_errors.patch b/target/linux/uml/patches-2.6.30/006-uml_libc_link_errors.patch new file mode 100644 index 000000000..340a5f266 --- /dev/null +++ b/target/linux/uml/patches-2.6.30/006-uml_libc_link_errors.patch @@ -0,0 +1,54 @@ +diff --git a/arch/um/kernel/dyn.lds.S b/arch/um/kernel/dyn.lds.S +index 7fcad58..85babf5 100644 +--- a/arch/um/kernel/dyn.lds.S ++++ b/arch/um/kernel/dyn.lds.S +@@ -50,8 +50,21 @@ SECTIONS + .rela.got : { *(.rela.got) } + .rel.bss : { *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) } + .rela.bss : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) } +- .rel.plt : { *(.rel.plt) } +- .rela.plt : { *(.rela.plt) } ++ /* Deal with multilib libc */ ++ .rel.plt : ++ { ++ *(.rel.plt) ++ PROVIDE_HIDDEN (__rel_iplt_start = .); ++ *(.rel.iplt) ++ PROVIDE_HIDDEN (__rel_iplt_end = .); ++ } ++ .rela.plt : ++ { ++ *(.rela.plt) ++ PROVIDE_HIDDEN (__rela_iplt_start = .); ++ *(.rela.iplt) ++ PROVIDE_HIDDEN (__rela_iplt_end = .); ++ } + .init : { + KEEP (*(.init)) + } =0x90909090 +diff --git a/arch/um/kernel/uml.lds.S b/arch/um/kernel/uml.lds.S +index e7a6cca..50d80e8 100644 +--- a/arch/um/kernel/uml.lds.S ++++ b/arch/um/kernel/uml.lds.S +@@ -35,6 +35,21 @@ SECTIONS + *(.gnu.warning) + *(.gnu.linkonce.t*) + } ++ /* Deal with multilib libc */ ++ .rel.plt : ++ { ++ *(.rel.plt) ++ PROVIDE_HIDDEN (__rel_iplt_start = .); ++ *(.rel.iplt) ++ PROVIDE_HIDDEN (__rel_iplt_end = .); ++ } ++ .rela.plt : ++ { ++ *(.rela.plt) ++ PROVIDE_HIDDEN (__rela_iplt_start = .); ++ *(.rela.iplt) ++ PROVIDE_HIDDEN (__rela_iplt_end = .); ++ } + + . = ALIGN(PAGE_SIZE); + .syscall_stub : { diff --git a/target/linux/uml/patches-2.6.33/006-uml_libc_link_errors.patch b/target/linux/uml/patches-2.6.33/006-uml_libc_link_errors.patch new file mode 100644 index 000000000..340a5f266 --- /dev/null +++ b/target/linux/uml/patches-2.6.33/006-uml_libc_link_errors.patch @@ -0,0 +1,54 @@ +diff --git a/arch/um/kernel/dyn.lds.S b/arch/um/kernel/dyn.lds.S +index 7fcad58..85babf5 100644 +--- a/arch/um/kernel/dyn.lds.S ++++ b/arch/um/kernel/dyn.lds.S +@@ -50,8 +50,21 @@ SECTIONS + .rela.got : { *(.rela.got) } + .rel.bss : { *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) } + .rela.bss : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) } +- .rel.plt : { *(.rel.plt) } +- .rela.plt : { *(.rela.plt) } ++ /* Deal with multilib libc */ ++ .rel.plt : ++ { ++ *(.rel.plt) ++ PROVIDE_HIDDEN (__rel_iplt_start = .); ++ *(.rel.iplt) ++ PROVIDE_HIDDEN (__rel_iplt_end = .); ++ } ++ .rela.plt : ++ { ++ *(.rela.plt) ++ PROVIDE_HIDDEN (__rela_iplt_start = .); ++ *(.rela.iplt) ++ PROVIDE_HIDDEN (__rela_iplt_end = .); ++ } + .init : { + KEEP (*(.init)) + } =0x90909090 +diff --git a/arch/um/kernel/uml.lds.S b/arch/um/kernel/uml.lds.S +index e7a6cca..50d80e8 100644 +--- a/arch/um/kernel/uml.lds.S ++++ b/arch/um/kernel/uml.lds.S +@@ -35,6 +35,21 @@ SECTIONS + *(.gnu.warning) + *(.gnu.linkonce.t*) + } ++ /* Deal with multilib libc */ ++ .rel.plt : ++ { ++ *(.rel.plt) ++ PROVIDE_HIDDEN (__rel_iplt_start = .); ++ *(.rel.iplt) ++ PROVIDE_HIDDEN (__rel_iplt_end = .); ++ } ++ .rela.plt : ++ { ++ *(.rela.plt) ++ PROVIDE_HIDDEN (__rela_iplt_start = .); ++ *(.rela.iplt) ++ PROVIDE_HIDDEN (__rela_iplt_end = .); ++ } + + . = ALIGN(PAGE_SIZE); + .syscall_stub : { diff --git a/target/linux/uml/patches-2.6.34/006-uml_libc_link_errors.patch b/target/linux/uml/patches-2.6.34/006-uml_libc_link_errors.patch new file mode 100644 index 000000000..340a5f266 --- /dev/null +++ b/target/linux/uml/patches-2.6.34/006-uml_libc_link_errors.patch @@ -0,0 +1,54 @@ +diff --git a/arch/um/kernel/dyn.lds.S b/arch/um/kernel/dyn.lds.S +index 7fcad58..85babf5 100644 +--- a/arch/um/kernel/dyn.lds.S ++++ b/arch/um/kernel/dyn.lds.S +@@ -50,8 +50,21 @@ SECTIONS + .rela.got : { *(.rela.got) } + .rel.bss : { *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*) } + .rela.bss : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) } +- .rel.plt : { *(.rel.plt) } +- .rela.plt : { *(.rela.plt) } ++ /* Deal with multilib libc */ ++ .rel.plt : ++ { ++ *(.rel.plt) ++ PROVIDE_HIDDEN (__rel_iplt_start = .); ++ *(.rel.iplt) ++ PROVIDE_HIDDEN (__rel_iplt_end = .); ++ } ++ .rela.plt : ++ { ++ *(.rela.plt) ++ PROVIDE_HIDDEN (__rela_iplt_start = .); ++ *(.rela.iplt) ++ PROVIDE_HIDDEN (__rela_iplt_end = .); ++ } + .init : { + KEEP (*(.init)) + } =0x90909090 +diff --git a/arch/um/kernel/uml.lds.S b/arch/um/kernel/uml.lds.S +index e7a6cca..50d80e8 100644 +--- a/arch/um/kernel/uml.lds.S ++++ b/arch/um/kernel/uml.lds.S +@@ -35,6 +35,21 @@ SECTIONS + *(.gnu.warning) + *(.gnu.linkonce.t*) + } ++ /* Deal with multilib libc */ ++ .rel.plt : ++ { ++ *(.rel.plt) ++ PROVIDE_HIDDEN (__rel_iplt_start = .); ++ *(.rel.iplt) ++ PROVIDE_HIDDEN (__rel_iplt_end = .); ++ } ++ .rela.plt : ++ { ++ *(.rela.plt) ++ PROVIDE_HIDDEN (__rela_iplt_start = .); ++ *(.rela.iplt) ++ PROVIDE_HIDDEN (__rela_iplt_end = .); ++ } + + . = ALIGN(PAGE_SIZE); + .syscall_stub : { |