[PATCH v4 0/3] kallsyms base relative series
Guenter Roeck
linux at roeck-us.net
Tue Jan 26 04:44:10 AEDT 2016
On 01/25/2016 06:19 AM, Ard Biesheuvel wrote:
> This v4 of my kallsyms base relative implementation is now a 3 piece series,
> since it caused some problems due to the way absolute symbols are handled
> by the absolute per cpu code. As it turns out, that code was probably wrong
> in the sense that it caused non-relocated symbol addresses to be emitted
> for values that are in fact relative to the address of the kernel text.
>
> Patch #1 fixes the scripts/kallsyms invocation to only pass the x86_64
> specific --absolute-percpu option if CONFIG_SMP is also set.
>
> Patch #2 reworks the absolute percpu code to only emit those percpu symbols
> as absolute, and not symbols that have been classified as 'A' (absolute) by
> the linker, since that does not mean quite the same thing.
>
> Patch #3 is the original kallsyms base relative patch, with some
> modifications:
> - folded the s/ULLONG_MAX/-1ULL? change made by Andrew
> - ensured that the kallsyms_relative_base value itself is relocated as
> required.
> - dropped all of the acks and other tags, as they have become outdated with
> the recent changes to this patch.
>
I tested the series on top of mmotm (after reverting the original patches).
Qemu tests for mips, sparc, and x86 (both smp and nosmp) now pass.
Tested-by: Guenter Roeck <linux at roeck-us.net>
> Ard Biesheuvel (3):
> x86: kallsyms: disable absolute percpu symbols on !SMP
> kallsyms: don't overload absolute symbol type for percpu symbols
> kallsyms: add support for relative offsets in kallsyms address table
>
> init/Kconfig | 16 +++
> kernel/kallsyms.c | 38 ++++++--
> scripts/kallsyms.c | 102 +++++++++++++++++---
> scripts/link-vmlinux.sh | 6 +-
> scripts/namespace.pl | 2 +
> 5 files changed, 142 insertions(+), 22 deletions(-)
>
More information about the Linuxppc-dev
mailing list