Skip to content

Commit

Permalink
x86, vmlinux.lds: unify parainstructions
Browse files Browse the repository at this point in the history
32 bit:

 - increase alignment from 4 to 8 for .parainstructions
 - increase alignment from 4 to 8 for .altinstructions

64 bit:

 - move ALIGN() outside output section for .altinstructions

None of the above should result in any functional change.

[ Impact: refactor and unify linker script ]

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Tim Abbott <tabbott@MIT.EDU>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
LKML-Reference: <1240991249-27117-10-git-send-email-sam@ravnborg.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
  • Loading branch information
Sam Ravnborg authored and Ingo Molnar committed Apr 29, 2009
1 parent e58bdaa commit ae61836
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 36 deletions.
18 changes: 18 additions & 0 deletions arch/x86/kernel/vmlinux.lds.S
Original file line number Diff line number Diff line change
Expand Up @@ -291,6 +291,24 @@ SECTIONS

SECURITY_INIT

. = ALIGN(8);
.parainstructions : AT(ADDR(.parainstructions) - LOAD_OFFSET) {
__parainstructions = .;
*(.parainstructions)
__parainstructions_end = .;
}

. = ALIGN(8);
.altinstructions : AT(ADDR(.altinstructions) - LOAD_OFFSET) {
__alt_instructions = .;
*(.altinstructions)
__alt_instructions_end = .;
}

.altinstr_replacement : AT(ADDR(.altinstr_replacement) - LOAD_OFFSET) {
*(.altinstr_replacement)
}


#ifdef CONFIG_X86_32
# include "vmlinux_32.lds.S"
Expand Down
18 changes: 0 additions & 18 deletions arch/x86/kernel/vmlinux_32.lds.S
Original file line number Diff line number Diff line change
@@ -1,21 +1,3 @@
. = ALIGN(4);
.altinstructions : AT(ADDR(.altinstructions) - LOAD_OFFSET) {
__alt_instructions = .;
*(.altinstructions)
__alt_instructions_end = .;
}

.altinstr_replacement : AT(ADDR(.altinstr_replacement) - LOAD_OFFSET) {
*(.altinstr_replacement)
}

. = ALIGN(4);
.parainstructions : AT(ADDR(.parainstructions) - LOAD_OFFSET) {
__parainstructions = .;
*(.parainstructions)
__parainstructions_end = .;
}

/*
* .exit.text is discard at runtime, not link time, to deal with
* references from .altinstructions and .eh_frame
Expand Down
18 changes: 0 additions & 18 deletions arch/x86/kernel/vmlinux_64.lds.S
Original file line number Diff line number Diff line change
@@ -1,21 +1,3 @@
. = ALIGN(8);
.parainstructions : AT(ADDR(.parainstructions) - LOAD_OFFSET) {
__parainstructions = .;
*(.parainstructions)
__parainstructions_end = .;
}

.altinstructions : AT(ADDR(.altinstructions) - LOAD_OFFSET) {
. = ALIGN(8);
__alt_instructions = .;
*(.altinstructions)
__alt_instructions_end = .;
}

.altinstr_replacement : AT(ADDR(.altinstr_replacement) - LOAD_OFFSET) {
*(.altinstr_replacement)
}

/*
* .exit.text is discard at runtime, not link time, to deal with
* references from .altinstructions and .eh_frame
Expand Down

0 comments on commit ae61836

Please sign in to comment.