uml: fix CONFIG_STATIC_LINK=y build failure with newer glibc
With glibc 2.11 or later that was built with --enable-multi-arch, the UML link fails with undefined references to __rel_iplt_start and similar symbols. In recent binutils, the default linker script defines these symbols (see ld --verbose). Fix the UML linker scripts to match the new defaults for these sections. Signed-off-by: Roland McGrath <roland@redhat.com> Cc: Jeff Dike <jdike@addtoit.com> Cc: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
d911202e3f
commit
aa5fb4dbfd
2 changed files with 29 additions and 2 deletions
|
@ -50,8 +50,18 @@ 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) }
|
||||
.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
|
||||
|
|
|
@ -43,6 +43,23 @@ SECTIONS
|
|||
__syscall_stub_end = .;
|
||||
}
|
||||
|
||||
/*
|
||||
* These are needed even in a static link, even if they wind up being empty.
|
||||
* Newer glibc needs these __rel{,a}_iplt_{start,end} symbols.
|
||||
*/
|
||||
.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 = .);
|
||||
}
|
||||
|
||||
#include "asm/common.lds.S"
|
||||
|
||||
init.data : { INIT_DATA }
|
||||
|
|
Loading…
Reference in a new issue