diff options
Diffstat (limited to 'arch/x86/tools/relocs.c')
-rw-r--r-- | arch/x86/tools/relocs.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/arch/x86/tools/relocs.c b/arch/x86/tools/relocs.c index b43cfcd9bf4..5a1847d6193 100644 --- a/arch/x86/tools/relocs.c +++ b/arch/x86/tools/relocs.c | |||
@@ -60,12 +60,31 @@ static const char * const sym_regex_kernel[S_NSYMTYPES] = { | |||
60 | "__x86_cpu_dev_(start|end)|" | 60 | "__x86_cpu_dev_(start|end)|" |
61 | "(__parainstructions|__alt_instructions)(|_end)|" | 61 | "(__parainstructions|__alt_instructions)(|_end)|" |
62 | "(__iommu_table|__apicdrivers|__smp_locks)(|_end)|" | 62 | "(__iommu_table|__apicdrivers|__smp_locks)(|_end)|" |
63 | "__(start|end)_pci_.*|" | ||
64 | "__(start|end)_builtin_fw|" | ||
65 | "__(start|stop)___ksymtab(|_gpl|_unused|_unused_gpl|_gpl_future)|" | ||
66 | "__(start|stop)___kcrctab(|_gpl|_unused|_unused_gpl|_gpl_future)|" | ||
67 | "__(start|stop)___param|" | ||
68 | "__(start|stop)___modver|" | ||
69 | "__(start|stop)___bug_table|" | ||
70 | "__tracedata_(start|end)|" | ||
71 | "__(start|stop)_notes|" | ||
72 | "__end_rodata|" | ||
73 | "__initramfs_start|" | ||
74 | "(jiffies|jiffies_64)|" | ||
63 | "_end)$" | 75 | "_end)$" |
64 | }; | 76 | }; |
65 | 77 | ||
66 | 78 | ||
67 | static const char * const sym_regex_realmode[S_NSYMTYPES] = { | 79 | static const char * const sym_regex_realmode[S_NSYMTYPES] = { |
68 | /* | 80 | /* |
81 | * These symbols are known to be relative, even if the linker marks them | ||
82 | * as absolute (typically defined outside any section in the linker script.) | ||
83 | */ | ||
84 | [S_REL] = | ||
85 | "^pa_", | ||
86 | |||
87 | /* | ||
69 | * These are 16-bit segment symbols when compiling 16-bit code. | 88 | * These are 16-bit segment symbols when compiling 16-bit code. |
70 | */ | 89 | */ |
71 | [S_SEG] = | 90 | [S_SEG] = |