kpatch/test/integration
Josh Poimboeuf 2982962549 support for__key and __warned special static local vars
Add support for the __key and __warned "special" static local variables.
I'm calling them that for lack of a better term, analagous to the
kernel's special sections that we have to deal with.

__warned: Used by WARN_ONCE et al as an indicator as to whether a
message has already been printed.  I think it makes sense (and is much
easier) to reset this counter for a given function when replacing the
function, since the user may expect the new function to warn again.

__key: Used by lockdep as an identifier for a given lock initialization
code path (see http://lwn.net/Articles/185666/ for more info).  I think
it makes sense (and is much easier) to create a new key for a given
function when replacing the function, because the locking semantics may
have changed, so it makes sense for lockdep to use a new key to validate
the new locking behavior.

So for both __warned and __key static variables, the new version of the
variable should be used when referenced by an included function.

Made the following changes to support these special variables:

- Ignore their suffixes when comparing them in rela_equal, so that gcc
  renaming them will not result in a function being marked as changed
  just because it referenced a renamed static local

- Don't ever correlate them, so that their new versions will be included
  if a changed or new function uses their corresponding symbols

Fixes #402.
2014-09-09 13:36:20 -05:00
..
.gitignore test: add much quicker combined test option 2014-05-27 09:40:24 -05:00
bug-table-section.patch test: remove annoying printks 2014-06-27 13:15:02 -05:00
cmdline-string-LOADED.test test: add cmdline-string test 2014-05-05 16:05:00 -05:00
cmdline-string.patch test: add cmdline-string test 2014-05-05 16:05:00 -05:00
data-new-LOADED.test create-diff-object: allow new data to be included 2014-08-14 01:12:27 -05:00
data-new.patch create-diff-object: allow new data to be included 2014-08-14 01:12:27 -05:00
data-read-mostly.patch create-diff-object: tracepoint & jump label fixes 2014-05-30 15:20:08 -05:00
fixup-section.patch test: remove annoying printks 2014-06-27 13:15:02 -05:00
gcc-constprop.patch create-diff-object: support gcc function name mangling 2014-06-03 11:26:03 -05:00
gcc-isra.patch create-diff-object: support gcc function name mangling 2014-06-03 11:26:03 -05:00
gcc-static-local-var-2.patch add test case for issue #394. 2014-09-03 10:10:07 -05:00
gcc-static-local-var.patch support for gcc static local variable renaming 2014-07-24 15:08:15 -05:00
kpatch-test test: detect kernel oopses and warnings 2014-06-27 13:24:14 -05:00
macro-hooks-LOADED.test test: add hook macro test 2014-08-13 14:24:18 -05:00
macro-hooks.patch test: add hook macro test 2014-08-13 14:24:18 -05:00
macro-printk.patch test: add KPATCH_PRINTK test 2014-08-04 17:03:23 -05:00
Makefile test: add much quicker combined test option 2014-05-27 09:40:24 -05:00
meminfo-cmdline-LOADED.test test: add meminfo-cmdline test 2014-05-05 16:05:00 -05:00
meminfo-cmdline.patch test: add meminfo-cmdline test 2014-05-05 16:05:00 -05:00
meminfo-init2-FAIL.patch test: make .init sections can't be changed 2014-05-05 17:05:49 -05:00
meminfo-init-FAIL.patch test: make .init sections can't be changed 2014-05-05 17:05:49 -05:00
meminfo-string-LOADED.test create integration test framework 2014-04-26 16:23:05 -05:00
meminfo-string.patch create integration test framework 2014-04-26 16:23:05 -05:00
multiple.test test: add test for loading multiple modules 2014-05-05 20:03:57 -05:00
new-function.patch create-diff-object: include new functions 2014-06-25 16:46:08 -05:00
new-globals.patch add test case for new globals inclusion 2014-09-03 17:06:50 -05:00
parainstructions-section.patch test: add basic tests for special sections 2014-05-15 17:14:25 -05:00
replace.test test: add custom test for kpatch replace 2014-05-05 17:05:44 -05:00
shadow-newpid-LOADED.test add support for shadow variables 2014-09-08 13:36:37 -05:00
shadow-newpid.patch add support for shadow variables 2014-09-08 13:36:37 -05:00
smp-locks-section.patch test: remove annoying printks 2014-06-27 13:15:02 -05:00
special-static.patch support for__key and __warned special static local vars 2014-09-09 13:36:20 -05:00
tracepoints-section.patch test: remove annoying printks 2014-06-27 13:15:02 -05:00