diff options
author | James Hogan <james@albanarts.com> | 2012-09-06 22:11:25 +0100 |
---|---|---|
committer | Bob Liu <lliubbo@gmail.com> | 2012-09-11 10:25:12 +0800 |
commit | 6895f97e15895625e03c95df904d92befdac7118 (patch) | |
tree | bf5a5902426ef3073e1d8812d5fdb3f93a888398 /scripts/link-vmlinux.sh | |
parent | 50888469bda11bcff306893bbaff21f25894be0b (diff) | |
download | lwn-6895f97e15895625e03c95df904d92befdac7118.tar.gz lwn-6895f97e15895625e03c95df904d92befdac7118.zip |
kbuild: add symbol prefix arg to kallsyms
Commit 1f2bfbd00e466ff3489b2ca5cc75b1cccd14c123 ("kbuild: link of
vmlinux moved to a script") introduced in v3.5-rc1 broke kallsyms on
architectures which have symbol prefixes.
The --symbol-prefix argument used to be added to the KALLSYMS command
line from the architecture Makefile, however this isn't picked up by the
new scripts/link-vmlinux.sh. This resulted in symbols like
kallsyms_addresses being added which weren't correctly overriding the
weak symbols such as _kallsyms_addresses. These could then trigger
BUG_ONs in kallsyms code.
This is fixed by removing the KALLSYMS addition from the architecture
Makefile, and using CONFIG_SYMBOL_PREFIX in the link-vmlinux.sh script
to determine whether to add the --symbol-prefix argument.
Signed-off-by: James Hogan <james.hogan@imgtec.com>
Signed-off-by: Bob Liu <lliubbo@gmail.com>
Diffstat (limited to 'scripts/link-vmlinux.sh')
-rw-r--r-- | scripts/link-vmlinux.sh | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh index 4629038c9e5a..df48dda8a2da 100644 --- a/scripts/link-vmlinux.sh +++ b/scripts/link-vmlinux.sh @@ -74,8 +74,13 @@ kallsyms() info KSYM ${2} local kallsymopt; + if [ -n "${CONFIG_SYMBOL_PREFIX}" ]; then + kallsymopt="${kallsymopt} \ + --symbol-prefix=${CONFIG_SYMBOL_PREFIX}" + fi + if [ -n "${CONFIG_KALLSYMS_ALL}" ]; then - kallsymopt=--all-symbols + kallsymopt="${kallsymopt} --all-symbols" fi local aflags="${KBUILD_AFLAGS} ${KBUILD_AFLAGS_KERNEL} \ |