Ard Biesheuvel
56067812d5
kbuild: modversions: add infrastructure for emitting relative CRCs
...
This add the kbuild infrastructure that will allow architectures to emit
vmlinux symbol CRCs as 32-bit offsets to another location in the kernel
where the actual value is stored. This works around problems with CRCs
being mistaken for relocatable symbols on kernels that self relocate at
runtime (i.e., powerpc with CONFIG_RELOCATABLE=y)
For the kbuild side of things, this comes down to the following:
- introducing a Kconfig symbol MODULE_REL_CRCS
- adding a -R switch to genksyms to instruct it to emit the CRC symbols
as references into the .rodata section
- making modpost distinguish such references from absolute CRC symbols
by the section index (SHN_ABS)
- making kallsyms disregard non-absolute symbols with a __crc_ prefix
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-02-03 08:28:25 -08:00
..
basic
fixdep: faster CONFIG_ search
2016-08-24 22:34:19 +02:00
coccinelle
Coccinelle: misc: Add support for devm variant in all modes
2016-12-11 12:08:26 +01:00
dtc
scripts/dtc: dt_to_config - kernel config options for a devicetree
2016-07-22 14:48:16 -05:00
gcc-plugins
gcc-plugins: update gcc-common.h for gcc-7
2017-01-03 12:08:59 -08:00
gdb
Revert "scripts/gdb: add a Radix Tree Parser"
2016-07-15 14:54:27 +09:00
genksyms
kbuild: modversions: add infrastructure for emitting relative CRCs
2017-02-03 08:28:25 -08:00
kconfig
Merge branch 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
2016-12-17 16:30:24 -08:00
ksymoops
mod
kbuild: modversions: add infrastructure for emitting relative CRCs
2017-02-03 08:28:25 -08:00
package
Merge branch 'kbuild/rc-fixes' into kbuild/misc
2016-12-11 21:20:34 +01:00
selinux
selinux: use the kernel headers when building scripts/selinux
2016-12-21 10:39:25 -05:00
tracing
ftrace/scripts: Add helper script to bisect function tracing problem functions
2016-09-21 13:56:55 -04:00
.gitignore
KEYS: Reserve an extra certificate symbol for inserting without recompiling
2016-02-26 15:30:20 +00:00
adjust_autoksyms.sh
kbuild: fix scripts/adjust_autoksyms.sh* for the no modules case
2016-12-11 22:30:10 +01:00
analyze_suspend.py
PM / tools: scripts: AnalyzeSuspend v4.2
2016-07-15 23:34:14 +02:00
asn1_compiler.c
ASN.1: fix open failure check on headername
2016-04-06 14:06:48 +01:00
bloat-o-meter
scripts/bloat-o-meter: compile .NUMBER regex
2016-12-12 18:55:06 -08:00
bootgraph.pl
check-lc_ctype.c
DocBook: Use a fixed encoding for output
2015-09-28 01:31:48 -06:00
check_00index.sh
scripts: add a script to check if Documentation/00-INDEX is sane
2016-12-05 14:21:24 -07:00
check_extable.sh
checkincludes.pl
checkkconfigsymbols.py
checkkconfigsymbols.py: support git's "^" syntax
2016-10-28 08:12:14 -04:00
checkpatch.pl
checkpatch: replace __bitwise__ with __bitwise
2016-12-16 00:13:40 +02:00
checkstack.pl
checksyscalls.sh
checkversion.pl
cleanfile
cleanpatch
coccicheck
scripts/coccicheck: Update reference for the corresponding documentation
2016-10-11 09:50:43 +02:00
config
conmakehash.c
const_structs.checkpatch
const_structs.checkpatch: add frequently used from Julia Lawall's list
2016-10-11 15:06:30 -07:00
decode_stacktrace.sh
scripts/decode_stacktrace.sh: Fix address line detection on x86
2016-11-29 14:19:50 +01:00
decodecode
depmod.sh
diffconfig
docproc.c
docproc: print a comment about autogeneration for rst output
2016-05-14 09:56:56 -06:00
export_report.pl
extract-cert.c
KEYS: Remove unnecessary header #inclusions from extract-cert.c
2015-09-25 16:31:45 +01:00
extract-ikconfig
extract-module-sig.pl
KEYS: Provide a script to extract a module signature
2015-10-21 15:18:36 +01:00
extract-sys-certs.pl
KEYS: Use the symbol value for list size, updated by scripts/insert-sys-cert
2016-02-26 15:32:05 +00:00
extract-vmlinux
extract_xc3028.pl
[media] extract_xc3028.pl: move it to scripts/dir
2016-07-17 14:08:12 -03:00
faddr2line
scripts/faddr2line: Fix "size mismatch" error
2016-10-25 18:40:37 +02:00
gcc-goto.sh
gcc-ld
gcc-plugin.sh
gcc-plugins: abort builds cleanly when not supported
2016-08-08 17:49:05 -07:00
gcc-version.sh
gcc-x86_32-has-stack-protector.sh
gcc-x86_64-has-stack-protector.sh
scripts/has-stack-protector: add -fno-PIE
2016-11-09 22:28:05 +01:00
gen_initramfs_list.sh
initramfs: Escape colons in depfile
2016-09-23 10:35:32 +02:00
get_dvb_firmware
[media] doc-rst: move DVB avulse docs to Documentation/media
2016-07-17 14:02:45 -03:00
get_maintainer.pl
get_maintainer: look for arbitrary letter prefixes in sections
2016-12-12 18:55:09 -08:00
gfp-translate
headerdep.pl
headers.sh
headers_check.pl
headers_check: don't warn about c++ guards
2016-05-24 14:12:48 +10:00
headers_install.sh
insert-sys-cert.c
KEYS: Reserve an extra certificate symbol for inserting without recompiling
2016-02-26 15:30:20 +00:00
kallsyms.c
kbuild: modversions: add infrastructure for emitting relative CRCs
2017-02-03 08:28:25 -08:00
Kbuild.include
kbuild: no gcc-plugins during cc-option tests
2016-08-08 17:49:05 -07:00
kernel-doc
kernel-doc: add support for one line inline struct member doc comments
2016-11-16 16:30:27 -07:00
kernel-doc-xml-ref
ld-version.sh
ld-version: Drop the 4th and 5th version components
2016-05-13 14:02:05 +02:00
Lindent
scripts/Lindent: handle missing indent gracefully
2015-09-04 16:54:41 -07:00
link-vmlinux.sh
kbuild: minor improvement for thin archives build
2016-11-29 15:58:57 +01:00
Makefile
GCC plugin infrastructure
2016-06-07 22:57:10 +02:00
Makefile.asm-generic
kbuild: Remove stale asm-generic wrappers
2016-07-07 15:58:45 +02:00
Makefile.build
kbuild: modversions: add infrastructure for emitting relative CRCs
2017-02-03 08:28:25 -08:00
Makefile.clean
Shared library support
2016-06-07 22:57:10 +02:00
Makefile.dtbinst
dtbsinstall: don't move target directory out of the way
2016-01-28 11:40:32 +01:00
Makefile.extrawarn
Kbuild: enable -Wmaybe-uninitialized warnings by default
2016-11-11 08:45:08 -08:00
Makefile.fwinst
Makefile.gcc-plugins
gcc-plugins: Add latent_entropy plugin
2016-10-10 14:51:44 -07:00
Makefile.headersinst
Makefile.help
Makefile.host
Shared library support
2016-06-07 22:57:10 +02:00
Makefile.kasan
kasan: turn on -fsanitize-address-use-after-scope
2016-12-12 18:55:09 -08:00
Makefile.lib
Merge branch 'akpm' (patches from Andrew)
2016-08-02 21:08:07 -04:00
Makefile.modbuiltin
Makefile.modinst
Makefile.modpost
kbuild: add arch specific post-link Makefile
2016-09-09 10:47:00 +02:00
Makefile.modsign
Makefile.ubsan
Kbuild: enable -Wmaybe-uninitialized warning for "make W=1"
2016-11-11 08:45:08 -08:00
makelst
markup_oops.pl
mkcompile_h
mkmakefile
mksysmap
mkuboot.sh
mkversion
module-common.lds
namespace.pl
kallsyms: add support for relative offsets in kallsyms address table
2016-03-15 16:55:16 -07:00
objdiff
patch-kernel
pnmtologo.c
profile2linkerlist.pl
prune-kernel
scripts: add "prune-kernel" script to clean up old kernel images
2016-02-09 10:09:52 -08:00
recordmcount.c
recordmcount: arm: Implement make_nop
2016-11-14 16:43:00 -05:00
recordmcount.h
recordmcount: Fix endianness handling bug for nop_mcount
2015-11-03 10:45:26 -05:00
recordmcount.pl
nmi_backtrace: generate one-line reports for idle cpus
2016-10-07 18:46:30 -07:00
setlocalversion
kbuild: setlocalversion: print error to STDERR
2016-06-20 17:37:45 +02:00
show_delta
sign-file.c
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2016-12-15 11:41:37 -08:00
sortextable.c
powerpc: Build-time sort the exception table
2016-11-14 11:11:51 +11:00
sortextable.h
spelling.txt
spelling.txt: "modeled" is spelt correctly
2016-10-07 18:46:30 -07:00
stackdelta
stackusage
tags.sh
scripts/tags.sh: handle OMAP platforms properly
2016-12-12 18:55:06 -08:00
unifdef.c
ver_linux
ver_linux: rename ver_linux.awk to ver_linux
2016-08-31 13:59:31 +02:00
xen-hypercalls.sh
xz_wrap.sh