Skip to content

Commit

Permalink
Merge branch 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/lin…
Browse files Browse the repository at this point in the history
…ux/kernel/git/tip/tip

Pull x86 vdso fix from Peter Anvin:
 "This is a single build fix for building with gold as opposed to GNU
  ld.  It got queued up separately and was expected to be pushed during
  the merge window, but it got left behind"

* 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86, vdso: Make the vdso linker script compatible with Gold
  • Loading branch information
Linus Torvalds committed Apr 22, 2014
2 parents c089b22 + 378ed3c commit 39bfe90
Showing 1 changed file with 8 additions and 11 deletions.
19 changes: 8 additions & 11 deletions arch/x86/vdso/vdso-layout.lds.S
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,16 @@ SECTIONS
#ifdef BUILD_VDSO32
#include <asm/vdso32.h>

.hpet_sect : {
hpet_page = . - VDSO_OFFSET(VDSO_HPET_PAGE);
} :text :hpet_sect
hpet_page = . - VDSO_OFFSET(VDSO_HPET_PAGE);

.vvar_sect : {
vvar = . - VDSO_OFFSET(VDSO_VVAR_PAGE);
vvar = . - VDSO_OFFSET(VDSO_VVAR_PAGE);

/* Place all vvars at the offsets in asm/vvar.h. */
#define EMIT_VVAR(name, offset) vvar_ ## name = vvar + offset;
#define __VVAR_KERNEL_LDS
#include <asm/vvar.h>
#undef __VVAR_KERNEL_LDS
#undef EMIT_VVAR
} :text :vvar_sect
#endif
. = SIZEOF_HEADERS;

Expand Down Expand Up @@ -61,7 +57,12 @@ SECTIONS
*/
. = ALIGN(0x100);

.text : { *(.text*) } :text =0x90909090
.text : { *(.text*) } :text =0x90909090,

/*
* The comma above works around a bug in gold:
* https://sourceware.org/bugzilla/show_bug.cgi?id=16804
*/

/DISCARD/ : {
*(.discard)
Expand All @@ -84,8 +85,4 @@ PHDRS
dynamic PT_DYNAMIC FLAGS(4); /* PF_R */
note PT_NOTE FLAGS(4); /* PF_R */
eh_frame_hdr PT_GNU_EH_FRAME;
#ifdef BUILD_VDSO32
vvar_sect PT_NULL FLAGS(4); /* PF_R */
hpet_sect PT_NULL FLAGS(4); /* PF_R */
#endif
}

0 comments on commit 39bfe90

Please sign in to comment.