[tip:x86/trampoline] x86, realmode: Allow absolute pa_* symbols in the realmode code

From: tip-bot for H. Peter Anvin
Date: Tue May 08 2012 - 18:20:10 EST


Commit-ID: 2a6de3148cfd1a0240a85ea4a1cad34d250d882f
Gitweb: http://git.kernel.org/tip/2a6de3148cfd1a0240a85ea4a1cad34d250d882f
Author: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx>
AuthorDate: Tue, 8 May 2012 21:22:31 +0300
Committer: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx>
CommitDate: Tue, 8 May 2012 11:47:11 -0700

x86, realmode: Allow absolute pa_* symbols in the realmode code

Allow pa_* symbols to be absolute (outside any section) in the
realmode linker script. Some versions of GNU ld are known to be
unhappy about symbols defined in a section that is otherwise empty.

Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx>
Link: http://lkml.kernel.org/r/1336501366-28617-9-git-send-email-jarkko.sakkinen@xxxxxxxxx
---
scripts/x86-relocs.c | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/scripts/x86-relocs.c b/scripts/x86-relocs.c
index 0291470..74e16bb 100644
--- a/scripts/x86-relocs.c
+++ b/scripts/x86-relocs.c
@@ -62,6 +62,13 @@ static const char * const sym_regex_kernel[S_NSYMTYPES] = {

static const char * const sym_regex_realmode[S_NSYMTYPES] = {
/*
+ * These symbols are known to be relative, even if the linker marks them
+ * as absolute (typically defined outside any section in the linker script.)
+ */
+ [S_REL] =
+ "^pa_",
+
+/*
* These are 16-bit segment symbols when compiling 16-bit code.
*/
[S_SEG] =
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/