REAME.md: add g++ package to the Debian Wheezy procedure
kpatch-build: add Oracle Linux 7 and CentOS 7 support
readme: add support for Oracle Linux 7 and CentOS 7
readme: fix RHEL 7 prereq typo
Merge pull request #367 from terrywang/oraclelinux

Add support for Oracle Linux 7 and CentOS 7
Merge pull request #368 from jpoimboe/readme-rhel7-typo

readme: fix RHEL 7 prereq typo
Merge pull request #340 from goldyfruit/master

REAME.md: add g++ package to the Debian Wheezy procedure
0.2.0 release

ABI breakage b/w core module <-> patch module:
6a69f5f91a89a691288b844ed79b19b786d5c3a7
Merge pull request #369 from jpoimboe/0.2.0

0.2.0 release
Support modprobe style names in kpatch load

When the argument is a .ko file, it should be considered a path (i.e.
don't even look for it in the installed DB). When the argument is a
module name, it should be considered a loaded or installed module (and
then in the case of kpatch load we have to do a reverse translation of
all installed modules to see if any of them match).

Signed-off-by: Seth Jennings <sjenning@redhat.com>
Support modprobe format names in uninstall

Signed-off-by: Seth Jennings <sjenning@redhat.com>
Merge pull request #375 from spartacus06/modprobe-names

Support modprobe style names in kpatch load
support renaming of mangled .rodata sections

When a function foo.isra.1 has a switch statement, it might have a
corresponding .rodata.foo.isra.1 section (in addition to its
.text.foo.isra.1 section).  If so, rename that section too.

Otherwise kpatch-build will get confused when comparing the function's
relas which reference the .rodata section, and will mark the function's
rela section as changed because the rela symbol names differ.

I found this bug when trying to build the patch from upstream Linux
commit a3c54931.  Unfortunately this issue is already fixed on F20 and I
wasn't able to come up with a similarly failing test case for the
integration test suite.
change format of "ignoring" messages

Change the "ignoring" message formatting to be consistent with the
"changed function:" message to make it a little easier to read.
Merge pull request #379 from jpoimboe/ignoring-msg-format

change format of "ignoring" messages
improve KPATCH_IGNORE_SECTION error message
Merge pull request #382 from jpoimboe/ignore-section-error-msg

improve KPATCH_IGNORE_SECTION error message
rename variables for better readability

The naming of variables in this function is confusing, and really threw
me for a loop: sec is first used as an iterator, then sec is reused to
point to the dynrela section, then sec2 is used as another iterator.

Instead make sec the iterator for both loops and dynsec the dynrela
section pointer.
Merge pull request #383 from jpoimboe/sec2-var-rename

rename variables for better readability
support for calling a new function in another object

If a patch adds a new function in foo.c, and calls that function from
bar.c, currently it fails with something like:

    kpatch_create_dynamic_rela_sections: 2115: lookup_global_symbol failed for tpe_allow_file, needed for .text.do_mmap_pgoff

This (crudely) fixes the issue by assuming that if we can't find the
global symbol in the original vmlinux, that it will be provided by
another object in the patch module.  If that assumption is incorrect,
the module will fail to load due to the missing symbol dependency.

A (perhaps) better way to fix this is to search for the symbol in the
patched version of the vmlinux.  But I think this approach is good
enough, for now at least.

Fixes #388.