Merge pull request #564 from jpoimboe/more-static-fixes

create-diff-object: static local uncorrelation/correlation fixes
This commit is contained in:
Seth Jennings 2015-11-18 15:15:27 -06:00
commit b781c0a843

View File

@ -1151,6 +1151,14 @@ void kpatch_correlate_static_local_variables(struct kpatch_elf *base,
if (bundled && sym->sec->twin) {
sym->sec->twin->twin = NULL;
sym->sec->twin = NULL;
sym->sec->secsym->twin->twin = NULL;
sym->sec->secsym->twin = NULL;
if (sym->sec->rela) {
sym->sec->rela->twin->twin = NULL;
sym->sec->rela->twin = NULL;
}
}
}
@ -1211,6 +1219,9 @@ void kpatch_correlate_static_local_variables(struct kpatch_elf *base,
sym->sec->twin = patched_sym->sec;
patched_sym->sec->twin = sym->sec;
sym->sec->secsym->twin = patched_sym->sec->secsym;
patched_sym->sec->secsym->twin = sym->sec->secsym;
if (sym->sec->rela && patched_sym->sec->rela) {
sym->sec->rela->twin = patched_sym->sec->rela;
patched_sym->sec->rela->twin = sym->sec->rela;