summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@linux.intel.com>2012-05-08 21:22:31 +0300
committerH. Peter Anvin <hpa@linux.intel.com>2012-05-08 11:47:11 -0700
commit2a6de3148cfd1a0240a85ea4a1cad34d250d882f (patch)
tree5cdd4655fcb16fe035a1507c0be824748a270c57
parentf156ffc439951b63cfa9f4d999a8d54267f13282 (diff)
downloadlinux-stable-2a6de3148cfd1a0240a85ea4a1cad34d250d882f.tar.gz
linux-stable-2a6de3148cfd1a0240a85ea4a1cad34d250d882f.tar.bz2
linux-stable-2a6de3148cfd1a0240a85ea4a1cad34d250d882f.zip
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@linux.intel.com> Link: http://lkml.kernel.org/r/1336501366-28617-9-git-send-email-jarkko.sakkinen@intel.com
-rw-r--r--scripts/x86-relocs.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/scripts/x86-relocs.c b/scripts/x86-relocs.c
index 02914706e5b9..74e16bb15dc4 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] =