Merge pull request #71 from spartacus06/fixes

error on symbol ambiguity in link-vmlinux-syms
add-patches-section: detect no patched functions
kmod/core: add "notrace" to ftrace handler

The ftrace handler needs the notrace annotation so that ftrace won't
trace it and get into a recursive loop.
Merge pull request #72 from jpoimboe/no-patched-functions

add-patches-section: detect no patched functions
Merge pull request #73 from jpoimboe/core-notrace

kmod/core: add "notrace" to ftrace handler
add uninstall target

Make it easy to clean up an install

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

add uninstall target
order local FUNC syms before SECTION syms

ld drops FUNC syms that appear after the last SECTION
sym in the symbol table.

Make sure we order the FUNC syms before the SECTION syms.

Signed-off-by: Seth Jennings <sjenning@redhat.com>
refactor copying symbols to output

Create a new function kpatch_copy_symbols() that copies symbols from
one kelf to another if the "select" function to return true for the
symbol.

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

order local FUNC syms before SECTION syms
Add -c|--config option to kpatch-build

In some circumstances, the kernel is built outside from the source tree,
thus we should specify the .config file of build path.

This patch changes the basic option parsing by using getopt, and add more
information in usage().

Signed-off-by: Jincheng Miao <jincheng.miao@gmail.com>
Merge pull request #77 from ryanmiao/master

Add -c|--config option to kpatch-build
readme: add more detail to limitations section
Merge pull request #78 from jpoimboe/readme-limitations

readme: add more detail to limitations section
ignore init functions during bundling

When linking function bundles (.text/.rela/section sym/func sym)
ignore __init functions as they do not honor -ffunction-sections
and violate the one-to-one func/section assumption of the
function bundling.

Signed-off-by: Seth Jennings <sjenning@redhat.com>
Merge pull request #79 from spartacus06/ignore-init-funcs

ignore init functions during bundling
print "changed function" notice for all changed functions

A local changed function will not appear with a "changed function"
notice if it is a dependency of another changed function and that
function occurs before it in the symbol table.

Rearrange some logic to print the notice regardless of whether or not
the function symbols has already been selected for inclusion.

Signed-off-by: Seth Jennings <sjenning@redhat.com>
do not proceed with output generation if no changed funcs

If there are no changed functions, print notice and exit.

Signed-off-by: Seth Jennings <sjenning@redhat.com>