kpatch/kpatch-build
Josh Poimboeuf dea77c42dc create-diff-object: treat "CSWTCH.*" as a special static local
Normally, kpatch doesn't complain if you remove or rename a function.
This is a feature, because sometimes you have to rename a function in
order to patch it, if for example it doesn't have an fentry call.  In
the object code, it's treated as a new function.  You could get the same
result by copying/pasting the original function and giving the copy a
new name.  But renaming it makes it much easier to review the patch.

In RHEL 7.4, I tried to rename l2cap_config_rsp() to
l2cap_config_rsp_kpatch(), but it failed with:

  ERROR: l2cap_core.o: reference to static local variable CSWTCH.347 in l2cap_config_rsp was removed

This particular error is an easy fix, because the CSWTCH.* symbols are
read-only and are created by GCC.  So they shouldn't be correlated
anyway.

In the future, we will need a more general fix to allow the removal of
functions which use *any* static local variables.  Either automatically,
or by adding a manual annotation.  This can be handled when we rewrite
the static local variable handling in #545.
2017-09-11 14:55:35 -05:00
..
insn insn: get it to compile in create-diff-object 2014-05-30 15:19:57 -05:00
create-diff-object.c create-diff-object: treat "CSWTCH.*" as a special static local 2017-09-11 14:55:35 -05:00
create-klp-module.c kpatch-build: clarify ppc64le comments 2017-07-27 15:23:26 -05:00
create-kpatch-module.c create-kpatch-module: add new program that creates kpatch modules 2017-01-23 12:43:34 -08:00
kpatch-build kpatch-build: allow the number of make jobs to be specified using CPUS 2017-09-06 19:35:37 -04:00
kpatch-elf.c kpatch-build: clarify ppc64le comments 2017-07-27 15:23:26 -05:00
kpatch-elf.h kpatch-build: Support gcc-6 function prologue 2017-07-27 12:56:00 +05:30
kpatch-gcc kpatch-build: clarify ppc64le comments 2017-07-27 15:23:26 -05:00
kpatch-intermediate.h kpatch-intermediate.h: fix comments 2017-01-23 22:42:25 -08:00
list.h new .fixup group size algorithm 2014-09-15 14:54:57 -05:00
log.h log: include error.h 2017-01-23 12:42:35 -08:00
lookup.c lookup: allow local symbols to be in any order 2017-07-06 12:44:50 -05:00
lookup.h support dup file+symbol 2017-02-04 09:37:18 +08:00
Makefile kpatch-build: use implicit make rules 2017-08-22 03:21:00 +02:00