devtools: ignore internal ABI check
authorHaiyue Wang <haiyue.wang@intel.com>
Sat, 25 Apr 2020 10:56:18 +0000 (18:56 +0800)
committerDavid Marchand <david.marchand@redhat.com>
Sat, 25 Apr 2020 15:01:01 +0000 (17:01 +0200)
Ignore the internal version ABI check, this kind of ABI is used only
by drivers and libraries.

Signed-off-by: Haiyue Wang <haiyue.wang@intel.com>
Signed-off-by: David Marchand <david.marchand@redhat.com>
devtools/check-symbol-change.sh
devtools/libabigail.abignore

index ed2178e..8fcd0ce 100755 (executable)
@@ -77,6 +77,10 @@ build_map_changes()
 
 }
 
+is_stable_section() {
+       [ "$1" != 'EXPERIMENTAL' ] && [ "$1" != 'INTERNAL' ]
+}
+
 check_for_rule_violations()
 {
        local mapdb="$1"
@@ -106,15 +110,14 @@ check_for_rule_violations()
                        oldsecname=$(sed -n \
                        "s#$mname $symname \(.*\) del#\1#p" "$mapdb")
 
-                       # A symbol can not enter a non experimental
-                       # section directly
+                       # A symbol can not enter a stable section directly
                        if [ -z "$oldsecname" ]
                        then
-                               if [ "$secname" = 'EXPERIMENTAL' ]
+                               if ! is_stable_section $secname
                                then
                                        echo -n "INFO: symbol $symname has "
                                        echo -n "been added to the "
-                                       echo -n "EXPERIMENTAL section of the "
+                                       echo -n "$secname section of the "
                                        echo "version map"
                                        continue
                                else
@@ -135,9 +138,9 @@ check_for_rule_violations()
                        fi
 
                        # This symbol is moving between two sections (the
-                       # original section is not experimental).
+                       # original section is a stable section).
                        # This can be legit, just warn.
-                       if [ "$oldsecname" != 'EXPERIMENTAL' ]
+                       if is_stable_section $oldsecname
                        then
                                echo -n "INFO: symbol $symname is being "
                                echo -n "moved from $oldsecname to $secname. "
@@ -148,9 +151,9 @@ check_for_rule_violations()
                else
 
                        if ! grep -q "$mname $symname .* add" "$mapdb" && \
-                          [ "$secname" != "EXPERIMENTAL" ]
+                          is_stable_section $secname
                        then
-                               # Just inform users that non-experimenal
+                               # Just inform users that stable
                                # symbols need to go through a deprecation
                                # process
                                echo -n "INFO: symbol $symname is being "
index 1911890..986a527 100644 (file)
@@ -3,6 +3,11 @@
 [suppress_variable]
         symbol_version = EXPERIMENTAL
 
+[suppress_function]
+        symbol_version = INTERNAL
+[suppress_variable]
+        symbol_version = INTERNAL
+
 ; Explicit ignore for driver-only ABI
 [suppress_type]
         name = rte_cryptodev_ops