OSDN Git Service

Improve libabigail support a bit.
authorPeter Jones <pjones@redhat.com>
Mon, 11 Sep 2017 19:25:40 +0000 (15:25 -0400)
committerPeter Jones <pjones@redhat.com>
Mon, 11 Sep 2017 20:57:55 +0000 (16:57 -0400)
This does a couple of things:
- makes sure we're using --headers-dir with abidw and --headers-dir2
  with abidiff
- ignores additions to the efidp_data type
- Makes the abidw commit amend onto the "bump version" one.

Signed-off-by: Peter Jones <pjones@redhat.com>
Make.rules
Make.version
Makefile
src/Makefile
src/abignore [new file with mode: 0644]
src/libefiboot.abignore [deleted file]
src/libefivar.abignore [deleted file]

index fdd46a3..50483a8 100644 (file)
@@ -26,8 +26,9 @@ include $(TOPDIR)/Make.version
        $(ABIDW) --headers-dir $(TOPDIR)/src/include/efivar/ --out-file $@ $^
 
 %.abicheck : %.so
-       $(ABIDIFF) --suppr \
-               $(patsubst %.so,%.abignore,$<) \
+       $(ABIDIFF) \
+               --suppr abignore \
+               --headers-dir2 $(TOPDIR)/src/include/efivar/ \
                $(patsubst %.so,%.abixml,$<) \
                $<
 
index 5460dcb..dc4091a 100644 (file)
@@ -1 +1 @@
-VERSION = 31
+VERSION=31
index 8e8c6ca..ce8a1a6 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -68,7 +68,7 @@ clean :
        @rm -vf efivar.spec
        @rm -vrf cov-int efivar-coverity-*.tar.*
 
-GITTAG = $(VERSION)
+GITTAG = $(VERSION) + 1
 
 test-archive: abicheck efivar.spec
        @rm -rf /tmp/efivar-$(VERSION) /tmp/efivar-$(VERSION)-tmp
@@ -81,13 +81,18 @@ test-archive: abicheck efivar.spec
        @rm -rf /tmp/efivar-$(VERSION)
        @echo "The archive is in efivar-$(VERSION).tar.bz2"
 
+bumpver :
+       echo VERSION=$(GITTAG) > Make.version
+       git add Make.version
+       git commit -m "Bump version to $(GITTAG)" -s
+
 tag:
        git tag -s $(GITTAG) refs/heads/master
 
-archive: abicheck abidw tag efivar.spec
+archive: abicheck bumpver abidw tag efivar.spec
        @rm -rf /tmp/efivar-$(VERSION) /tmp/efivar-$(VERSION)-tmp
        @mkdir -p /tmp/efivar-$(VERSION)-tmp
-       @git archive --format=tar $(GITTAG) | ( cd /tmp/efivar-$(VERSION)-tmp/ ; tar x )
+       git archive --format=tar $(GITTAG) | ( cd /tmp/efivar-$(VERSION)-tmp/ ; tar x )
        @mv /tmp/efivar-$(VERSION)-tmp/ /tmp/efivar-$(VERSION)/
        @cp efivar.spec /tmp/efivar-$(VERSION)/
        @dir=$$PWD; cd /tmp; tar -c --bzip2 -f $$dir/efivar-$(VERSION).tar.bz2 efivar-$(VERSION)
index 0c16597..87e35c1 100644 (file)
@@ -33,7 +33,7 @@ all : $(TARGETS)
 static : $(STATICTARGETS)
 
 abidw : $(patsubst %.so,%.abixml,$(LIBTARGETS))
-       git commit -m "Update .abixml files" -s $^
+       git commit -m "Update .abixml files" -s --amend $^
 
 abicheck : $(patsubst %.so,%.abicheck,$(LIBTARGETS))
 
diff --git a/src/abignore b/src/abignore
new file mode 100644 (file)
index 0000000..74b5160
--- /dev/null
@@ -0,0 +1,20 @@
+# 1 function with some indirect sub-type change:
+#
+# [C]'function int efidp_append_instance(const_efidp, const_efidp, efidp*)' at dp.c:259:1 has some indirect sub-type changes:
+#   parameter 1 of type 'typedef const_efidp' has sub-type changes:
+#     underlying type 'const efidp_data*' changed:
+#       in pointed to type 'const efidp_data':
+#         in unqualified underlying type 'typedef efidp_data' at efivar-dp.h:882:1:
+#           underlying type 'union __anonymous_union__' at efivar-dp.h:825:1 changed:
+#             5 data member insertions:
+#               'efidp_bt __anonymous_union__::bt' at efivar-dp.h:867:1
+#               'efidp_btle __anonymous_union__::btle' at efivar-dp.h:870:1
+#               'efidp_dns __anonymous_union__::dns' at efivar-dp.h:871:1
+#               'efidp_emmc __anonymous_union__::emmc' at efivar-dp.h:869:1
+#               'efidp_wifi __anonymous_union__::wifi' at efivar-dp.h:868:1
+#
+[suppress_type]
+  soname_regexp = libefi(var|boot)\\.so
+  name = efidp_data
+  type_kind = typedef
+  has_data_member_inserted_at = end
diff --git a/src/libefiboot.abignore b/src/libefiboot.abignore
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/src/libefivar.abignore b/src/libefivar.abignore
deleted file mode 100644 (file)
index e69de29..0000000