mirror of https://github.com/dynup/kpatch
kpatch/s390: Add additional bundled symbols.
1. static const struct inet_sock fake_sk = { /* makes ip6_route_output set RT6_LOOKUP_F_IFACE: */ .sk.sk_bound_dev_if = 1, .pinet6 = (struct ipv6_pinfo *) &fake_pinfo, }; gcc can place fake_sk in .data.rel.ro.local: ndx 38, data 0x3ffb3280a58, size 960, name .data.rel.ro.local.fake_sk.1 ndx 39, data 0x3ffb32be5e8, size 24, name .rela.data.rel.ro.local.fake_sk.1 2. static LIST_HEAD(patch_objects); gcc can place patch_objects relocation in .data.rel.local: sym 56, type 1, bind 0, ndx 34, name patch_objects -> .data.rel.local Signed-off-by: Sumanth Korikkar <sumanthk@linux.ibm.com>
This commit is contained in:
parent
eb4a85f778
commit
b0330ab18e
|
@ -118,6 +118,16 @@ static bool is_bundleable(struct symbol *sym)
|
||||||
!strcmp(sym->sec->name + 13, sym->name))
|
!strcmp(sym->sec->name + 13, sym->name))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
if (sym->type == STT_OBJECT &&
|
||||||
|
!strncmp(sym->sec->name, ".data.rel.ro.local.", 19) &&
|
||||||
|
!strcmp(sym->sec->name + 19, sym->name))
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
if (sym->type == STT_OBJECT &&
|
||||||
|
!strncmp(sym->sec->name, ".data.rel.local.", 16) &&
|
||||||
|
!strcmp(sym->sec->name + 16, sym->name))
|
||||||
|
return 1;
|
||||||
|
|
||||||
if (sym->type == STT_OBJECT &&
|
if (sym->type == STT_OBJECT &&
|
||||||
!strncmp(sym->sec->name, ".rodata.",8) &&
|
!strncmp(sym->sec->name, ".rodata.",8) &&
|
||||||
!strcmp(sym->sec->name + 8, sym->name))
|
!strcmp(sym->sec->name + 8, sym->name))
|
||||||
|
|
Loading…
Reference in New Issue