Skip to content

Commit

Permalink
[POWERPC] Tweak VDSO linker script to avoid upsetting old binutils
Browse files Browse the repository at this point in the history
This works around bugs in older binutils' objcopy.
The placement of these sections does not really matter,
but it confused the buggy old BFD libraries.

Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
  • Loading branch information
Roland McGrath authored and Paul Mackerras committed May 23, 2008
1 parent 2145115 commit 2ca7633
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 3 deletions.
6 changes: 3 additions & 3 deletions arch/powerpc/kernel/vdso64/vdso64.lds.S
Original file line number Diff line number Diff line change
Expand Up @@ -43,15 +43,15 @@ SECTIONS
.rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
.rodata1 : { *(.rodata1) }

.dynamic : { *(.dynamic) } :text :dynamic

.eh_frame_hdr : { *(.eh_frame_hdr) } :text :eh_frame_hdr
.eh_frame : { KEEP (*(.eh_frame)) } :text
.gcc_except_table : { *(.gcc_except_table) }
.rela.dyn ALIGN(8) : { *(.rela.dyn) }

.opd ALIGN(8) : { KEEP (*(.opd)) }
.got ALIGN(8) : { *(.got .toc) }
.rela.dyn ALIGN(8) : { *(.rela.dyn) }

.dynamic : { *(.dynamic) } :text :dynamic

_end = .;
PROVIDE(end = .);
Expand Down
6 changes: 6 additions & 0 deletions include/asm-powerpc/ppc_asm.h
Original file line number Diff line number Diff line change
Expand Up @@ -356,6 +356,12 @@ END_FTR_SECTION_IFCLR(CPU_FTR_601)
#define toreal(rd)
#define fromreal(rd)

/*
* We use addis to ensure compatibility with the "classic" ppc versions of
* these macros, which use rs = 0 to get the tophys offset in rd, rather than
* converting the address in r0, and so this version has to do that too
* (i.e. set register rd to 0 when rs == 0).
*/
#define tophys(rd,rs) \
addis rd,rs,0

Expand Down

0 comments on commit 2ca7633

Please sign in to comment.