diff --git a/kmod/core/Makefile b/kmod/core/Makefile index 1627f35d9..2f284030c 100644 --- a/kmod/core/Makefile +++ b/kmod/core/Makefile @@ -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)),) diff --git a/kpatch-build/create-diff-object.c b/kpatch-build/create-diff-object.c index 4fbebd65c..cc4123711 100644 --- a/kpatch-build/create-diff-object.c +++ b/kpatch-build/create-diff-object.c @@ -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; @@ -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,