mbox series

[v3,0/7] livepatch-build-tools: new features and fixes

Message ID 20191126122511.7409-1-wipawel@amazon.de (mailing list archive)
Headers show
Series livepatch-build-tools: new features and fixes | expand

Message

Wieczorkiewicz, Pawel Nov. 26, 2019, 12:25 p.m. UTC
This series introduces new features to the livepatch functionality as
briefly discussed during Xen Developer Summit 2019: [a] and [b].
It also provides a few fixes and some small improvements.

IMPROVEMENTS:

1. Strip redundant or transient symbols from resulting object files:
   [6], [7]

  This change limits the size of resulting modules by dropping unneeded
  bits.

FEATURES:

For details see cover letter of xen series: [c]

1. independent modules (patches: [1])
2. pre- and post- apply|revert actions hooks (patches: [2])
3. apply|revert actions replacement hooks (patches: [3], [4])
4. inline asm hotpatching expectations (patches: [5])


[a] https://wiki.xenproject.org/wiki/Design_Sessions_2019#LivePatch_improvements_and_features
[b] https://lists.xenproject.org/archives/html/xen-devel/2019-07/msg00846.html

[c] [PATCH 00/14] livepatch: new features and fixes

Merged in v1:
  livepatch-gcc: Allow toolchain command with versions
  livepatch-gcc: Ignore built_in.o and prelink.o object files
  livepatch-build: Do not follow every symlink for patch file
  livepatch-build: Handle newly created object files
  common: Add is_standard_section() helper function
  common: Add is_referenced_section() helper function
  create-diff-object: Add is_special_section() helper function
  livepatch-build: detect special section group sizes
  create-diff-object: Add new entries to special sections array
  create-diff-object: Do not include all .rodata sections
  create-diff-object: Do not create empty .livepatch.funcs section
  create-diff-object: Extend patchability verification: STN_UNDEF
  create-diff-object: Strip all undefined entires of known size

Pawel Wieczorkiewicz (7):
  [1] livepatch-build: Embed hypervisor build id into every hotpatch
  [2] create-diff-object: Handle extra pre-|post- hooks
  [3] create-diff-object: Handle optional apply|revert hooks
  [4] create-diff-object: Add support for applied/reverted marker
  [5] create-diff-object: Add support for expectations
  [6] livepatch-build: Strip transient or unneeded symbols
  [7] livepatch-build: Strip all metadata symbols from hotpatch modules

 common.h             | 13 ++++++-
 create-diff-object.c | 82 +++++++++++++++++++++++++++++++++++--------
 livepatch-build      | 98 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 3 files changed, 177 insertions(+), 16 deletions(-)