From patchwork Fri Aug 13 10:46:02 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: dichen at redhat dot com X-Patchwork-Id: 44659 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 8630D388C01D for ; Fri, 13 Aug 2021 10:46:05 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8630D388C01D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1628851565; bh=8O11LL5ErRnXuTEGNomPPwTfueJCpPg/FYHHmopR7zQ=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Help: List-Subscribe:From:Reply-To:From; b=Q48i09xGWnfTK/OH2jE8qLhlVIrB1a+QKEj0FHzj3ent28gzr2DoOkpw7nS9u4W5/ ccHL+MXMDFuzIy8x+4PSTbh6MFzPeG9CRYWDUsk2vrtj06xxBBuYEB7V7KHBNdx1eY QxQioMWknpQErK/tyXxRiTTw85ZJcuqISRkcHvVE= X-Original-To: libabigail@sourceware.org Delivered-To: libabigail@sourceware.org Received: by sourceware.org (Postfix, from userid 48) id 7B9BE385B837; Fri, 13 Aug 2021 10:46:02 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7B9BE385B837 To: libabigail@sourceware.org Subject: [Bug default/28225] New: abidiff: false-positive ABI change detected in enum Date: Fri, 13 Aug 2021 10:46:02 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: libabigail X-Bugzilla-Component: default X-Bugzilla-Version: unspecified X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: dor.askayo at gmail dot com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: dodji at redhat dot com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter cc target_milestone attachments.created Message-ID: X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: libabigail@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Mailing list of the Libabigail project List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-Patchwork-Original-From: "dor.askayo at gmail dot com via Libabigail" From: dichen at redhat dot com Reply-To: "dor.askayo at gmail dot com" Errors-To: libabigail-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libabigail" https://sourceware.org/bugzilla/show_bug.cgi?id=28225 Bug ID: 28225 Summary: abidiff: false-positive ABI change detected in enum Product: libabigail Version: unspecified Status: UNCONFIRMED Severity: normal Priority: P2 Component: default Assignee: dodji at redhat dot com Reporter: dor.askayo at gmail dot com CC: libabigail at sourceware dot org Target Milestone: --- Created attachment 13616 --> https://sourceware.org/bugzilla/attachment.cgi?id=13616&action=edit Minimal reproducer abidiff detects a change in the order of enum values whose value is explicitly set as harmful, even though their values remain the same and no other enum value is affected by this change. As far as I know, both ABI and API remains identical in such a case: $ diff -U5 test-v0/test.h test-v1/test.h A minimal reproducer is attached: $ gcc -g -Wall -shared -Wl,--build-id=none -o libtest-v0.so test-v0/test.c $ gcc -g -Wall -shared -Wl,--build-id=none -o libtest-v1.so test-v1/test.c $ abidiff --headers-dir1 test-v0 --headers-dir2 test-v1 libtest-v0.so libtest-v1.so Functions changes summary: 0 Removed, 1 Changed, 0 Added function Variables changes summary: 0 Removed, 0 Changed, 0 Added variable 1 function with some indirect sub-type change: [C] 'function int foo(values)' at test.c:3:1 has some indirect sub-type changes: parameter 1 of type 'enum values' has sub-type changes: type size hasn't changed The issue was originally identified here: https://gitlab.com/freedesktop-sdk/freedesktop-sdk/-/merge_requests/5380#note_629314574 --- test-v0/test.h 2021-08-13 13:38:16.331805249 +0300 +++ test-v1/test.h 2021-08-13 13:06:09.380240513 +0300 @@ -1,4 +1,4 @@ enum values { - ENUM_VALUE1 = 1, ENUM_VALUE2 = 2, + ENUM_VALUE1 = 1, };