[PATCH for-4.15 0/3] tools: ABI checking

Andrew Cooper posted 3 patches 3 years, 1 month ago
Test gitlab-ci passed
Patches applied successfully (tree, apply log)
git fetch https://gitlab.com/xen-project/patchew/xen tags/patchew/20210301170044.23295-1-andrew.cooper3@citrix.com
config/Tools.mk.in                                 |    1 +
tools/configure                                    |   41 +
tools/configure.ac                                 |    1 +
tools/libs/.gitignore                              |    2 +
tools/libs/abi/libxencall.so.1.2-x86_64-abi.dump   |  924 +++++++++++
.../abi/libxendevicemodel.so.1.3-x86_64-abi.dump   | 1491 +++++++++++++++++
tools/libs/abi/libxenevtchn.so.1.1-x86_64-abi.dump |  719 ++++++++
.../abi/libxenforeignmemory.so.1.3-x86_64-abi.dump |  847 ++++++++++
tools/libs/abi/libxengnttab.so.1.2-x86_64-abi.dump | 1199 ++++++++++++++
tools/libs/abi/libxenhypfs.so.1.0-x86_64-abi.dump  |  597 +++++++
.../libs/abi/libxenstore.so.3.0.3-x86_64-abi.dump  | 1711 ++++++++++++++++++++
.../libs/abi/libxentoolcore.so.1.0-x86_64-abi.dump |  239 +++
.../libs/abi/libxentoollog.so.1.0-x86_64-abi.dump  |  882 ++++++++++
tools/libs/call/Makefile                           |    2 +
tools/libs/devicemodel/Makefile                    |    2 +
tools/libs/evtchn/Makefile                         |    2 +
tools/libs/foreignmemory/Makefile                  |    2 +
tools/libs/gnttab/Makefile                         |    2 +
tools/libs/hypfs/Makefile                          |    2 +
tools/libs/libs.mk                                 |   15 +-
tools/libs/store/Makefile                          |    2 +
tools/libs/toolcore/Makefile                       |    2 +
tools/libs/toollog/Makefile                        |    2 +
23 files changed, 8683 insertions(+), 4 deletions(-)
create mode 100644 tools/libs/abi/libxencall.so.1.2-x86_64-abi.dump
create mode 100644 tools/libs/abi/libxendevicemodel.so.1.3-x86_64-abi.dump
create mode 100644 tools/libs/abi/libxenevtchn.so.1.1-x86_64-abi.dump
create mode 100644 tools/libs/abi/libxenforeignmemory.so.1.3-x86_64-abi.dump
create mode 100644 tools/libs/abi/libxengnttab.so.1.2-x86_64-abi.dump
create mode 100644 tools/libs/abi/libxenhypfs.so.1.0-x86_64-abi.dump
create mode 100644 tools/libs/abi/libxenstore.so.3.0.3-x86_64-abi.dump
create mode 100644 tools/libs/abi/libxentoolcore.so.1.0-x86_64-abi.dump
create mode 100644 tools/libs/abi/libxentoollog.so.1.0-x86_64-abi.dump
[PATCH for-4.15 0/3] tools: ABI checking
Posted by Andrew Cooper 3 years, 1 month ago
Support in-tree ABI checking for stable libs.

This series highlights a regression from 4.14, which needs fixing before the
3rd patch can be committed.

abi-compliance-checker reports:

  Removed Symbols  3
    xentoolcore_internal.h
      xentoolcore__deregister_active_handle ( Xentoolcore__Active_Handle* ah )
      xentoolcore__register_active_handle ( Xentoolcore__Active_Handle* ah )
      xentoolcore__restrict_by_dup2_null ( int fd )


Another RFC question - this only applies to x86_64 at the moment.  For other
architectures, we'd need to commit other ABI files.

Andrew Cooper (3):
  tools: Check for abi-compliance-checker in ./configure
  tools/libs: Stash the 4.14 API/ABIs for the stable libraries
  tools/libs: Check ABI # DO NOT APPLY YET

 config/Tools.mk.in                                 |    1 +
 tools/configure                                    |   41 +
 tools/configure.ac                                 |    1 +
 tools/libs/.gitignore                              |    2 +
 tools/libs/abi/libxencall.so.1.2-x86_64-abi.dump   |  924 +++++++++++
 .../abi/libxendevicemodel.so.1.3-x86_64-abi.dump   | 1491 +++++++++++++++++
 tools/libs/abi/libxenevtchn.so.1.1-x86_64-abi.dump |  719 ++++++++
 .../abi/libxenforeignmemory.so.1.3-x86_64-abi.dump |  847 ++++++++++
 tools/libs/abi/libxengnttab.so.1.2-x86_64-abi.dump | 1199 ++++++++++++++
 tools/libs/abi/libxenhypfs.so.1.0-x86_64-abi.dump  |  597 +++++++
 .../libs/abi/libxenstore.so.3.0.3-x86_64-abi.dump  | 1711 ++++++++++++++++++++
 .../libs/abi/libxentoolcore.so.1.0-x86_64-abi.dump |  239 +++
 .../libs/abi/libxentoollog.so.1.0-x86_64-abi.dump  |  882 ++++++++++
 tools/libs/call/Makefile                           |    2 +
 tools/libs/devicemodel/Makefile                    |    2 +
 tools/libs/evtchn/Makefile                         |    2 +
 tools/libs/foreignmemory/Makefile                  |    2 +
 tools/libs/gnttab/Makefile                         |    2 +
 tools/libs/hypfs/Makefile                          |    2 +
 tools/libs/libs.mk                                 |   15 +-
 tools/libs/store/Makefile                          |    2 +
 tools/libs/toolcore/Makefile                       |    2 +
 tools/libs/toollog/Makefile                        |    2 +
 23 files changed, 8683 insertions(+), 4 deletions(-)
 create mode 100644 tools/libs/abi/libxencall.so.1.2-x86_64-abi.dump
 create mode 100644 tools/libs/abi/libxendevicemodel.so.1.3-x86_64-abi.dump
 create mode 100644 tools/libs/abi/libxenevtchn.so.1.1-x86_64-abi.dump
 create mode 100644 tools/libs/abi/libxenforeignmemory.so.1.3-x86_64-abi.dump
 create mode 100644 tools/libs/abi/libxengnttab.so.1.2-x86_64-abi.dump
 create mode 100644 tools/libs/abi/libxenhypfs.so.1.0-x86_64-abi.dump
 create mode 100644 tools/libs/abi/libxenstore.so.3.0.3-x86_64-abi.dump
 create mode 100644 tools/libs/abi/libxentoolcore.so.1.0-x86_64-abi.dump
 create mode 100644 tools/libs/abi/libxentoollog.so.1.0-x86_64-abi.dump

-- 
2.11.0


Re: [PATCH for-4.15 0/3] tools: ABI checking
Posted by Andrew Cooper 3 years, 1 month ago
On 01/03/2021 17:00, Andrew Cooper wrote:
> Support in-tree ABI checking for stable libs.
>
> This series highlights a regression from 4.14, which needs fixing before the
> 3rd patch can be committed.
>
> abi-compliance-checker reports:
>
>   Removed Symbols  3
>     xentoolcore_internal.h
>       xentoolcore__deregister_active_handle ( Xentoolcore__Active_Handle* ah )
>       xentoolcore__register_active_handle ( Xentoolcore__Active_Handle* ah )
>       xentoolcore__restrict_by_dup2_null ( int fd )

Actually, this is fairly easy:

--- ../tools/libs/abi/libxentoolcore.so.1.0-x86_64-abi.dump
+++ ../tools/libs/toolcore/libxentoolcore.so.1.0-x86_64-abi.dump
@@ -4,8 +4,7 @@
           'Arch' => 'x86_64',
           'GccVersion' => '6.3.0',
           'Headers' => {
-                         'xentoolcore.h' => 1,
-                         'xentoolcore_internal.h' => 1
+                         'xentoolcore.h' => 1
                        },
           'Language' => 'C',
           'LibraryName' => 'libxentoolcore.so.1.0',

I'll throw a fix into v2.

~Andrew