Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions kmod/core/Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# make rules
<<<<<<< HEAD
KPATCH_BUILD ?= /lib/modules/$(shell uname -r)/source
=======
KPATCH_BUILD ?= /lib/modules/$(shell uname -r)/build
>>>>>>> upstream/master
THISDIR := $(abspath $(dir $(lastword $(MAKEFILE_LIST))))

ifeq ($(wildcard $(KPATCH_BUILD)),)
Expand Down
12 changes: 12 additions & 0 deletions kpatch-build/create-diff-object.c
Original file line number Diff line number Diff line change
Expand Up @@ -366,10 +366,18 @@ void kpatch_create_symbol_table(struct kpatch_elf *kelf)
ERROR("couldn't find section for symbol %s\n",
sym->name);

<<<<<<< HEAD
/* create reverse link from local sec to local sym */
if (GELF_ST_TYPE(sym->sym.st_info) != STT_NOTYPE) {
if (sym->sym.st_value)
ERROR("local symbol starts at section offset %zu, expected 0",
sym->sym.st_value);
=======
if ((sym->type == STT_FUNC ||
sym->type == STT_OBJECT) &&
sym->sym.st_value == 0 &&
strcmp(sym->sec->name, "__ksymtab_strings")) {
>>>>>>> upstream/master
sym->sec->sym = sym;
} else if (sym->type == STT_SECTION) {
sym->sec->secsym = sym;
Expand Down Expand Up @@ -713,7 +721,11 @@ void kpatch_dump_kelf(struct kpatch_elf *kelf)
printf(", base-> %s\n", sec->base->name);
printf("rela section expansion\n");
for_each_rela(j, rela, &sec->relas) {
<<<<<<< HEAD
printf("sym %zd, offset %d, type %d, %s %s %d %s\n",
=======
printf("sym %lu, offset %d, type %d, %s %s %d %s\n",
>>>>>>> upstream/master
GELF_R_SYM(rela->rela.r_info),
rela->offset, rela->type,
rela->sym->name,
Expand Down