kpatch-build: fix SCRIPTDIR for bash -x

More adventures in bash-land.  Running "bash -x kpatch-build foo.patch"
causes SCRIPTDIR to not get set properly.  This fixes that.
kpatch-build: add patch compile failure output to log

If the patch doesn't compile, make sure the LOGFILE has the error
output.
Merge pull request #60 from jpoimboe/fix-bash-x

kpatch-build: fix SCRIPTDIR for bash -x
Merge pull request #61 from jpoimboe/patch-compile-fail-log

kpatch-build: add patch compile failure output to log
kmod/core: remove assembler code

Long ago, the kpatch_trampoline required being written in assembler, but
that's no longer needed now that it integrates nicely with ftrace.

Move it to a C function and rename it kpatch_ftrace_handler.
kmod/core: update module comments
kmod/core: remove ftrace hacks

These hacks were from a previous implementation and are no longer
needed.
kmod/core: remove comments about preemption

Preemption shouldn't cause a problem with determining activeness safety.
Even if a thread is preempted, it'll be on the backtrace.

We may need to disable preemption when reading the kpatch_funcs array,
but I'm removing that comment for now because the kpatch_funcs array
will soon be replaced by a much better data structure, and we'll deal
with proper synchronization then.
kmod/core: remove sync_core comment

No need to call sync_core() since we aren't directly modifying any code.
kmod/core: handle kmalloc errors and fix leak
kmod/core: remove unused old_func_name field

Not needed, we can always add it again later if needed (for sanity
checks, maybe)
kmod/core: print module load/unload messages

Print the loading/unloading messages after they have successfully
completed.  Using the KERN_NOTICE log level which corresponds to a
"normal but significant condition."
kmod/core: remove obsolete kpatch_rela struct
kmod/core: move kpatch_remove_patch

Just move kpatch_remove_patch to a more logical location next to
kpatch_apply_patch.  No functional changes.
kmod/core: rename some variables

For the sake of consistency and readability, rename some variables.
Also change func->old_addr_end to func->old_size.
Merge pull request #62 from jpoimboe/core-cleanup

kmod/core: long overdue cleanup
add file hint to add-patches-section

Currently, add-patches-section just blindly looks in vmlinux
for a function symbol matching the name of the patched function
in the input object file.  However, for local symbols, they may
appear multiple times in the vmlinux symbol table since the symbol
name may be reused locally in different files.

This commit add support for "file hinting".  It tracks what
file the symbol is in and searches for local symbols within
that file in vmlinux first.  If it doesn't find one, it then
searches globally like it always has.

Fixes issue #53

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

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

Signed-off-by: Seth Jennings <sjenning@redhat.com>
add TODO to de-dup code

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