From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 5B9293861823; Wed, 30 Sep 2020 18:18:59 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5B9293861823 From: "wcohen at redhat dot com" To: libabigail@sourceware.org Subject: [Bug default/26684] New: abidiff says that some bit field elements missing in version of binary with dwarf5 debuginfo. Date: Wed, 30 Sep 2020 18:18:59 +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: wcohen at redhat dot com X-Bugzilla-Status: NEW 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: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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-List-Received-Date: Wed, 30 Sep 2020 18:18:59 -0000 https://sourceware.org/bugzilla/show_bug.cgi?id=3D26684 Bug ID: 26684 Summary: abidiff says that some bit field elements missing in version of binary with dwarf5 debuginfo. Product: libabigail Version: unspecified Status: NEW Severity: normal Priority: P2 Component: default Assignee: dodji at redhat dot com Reporter: wcohen at redhat dot com CC: libabigail at sourceware dot org Target Milestone: --- Created attachment 12872 --> https://sourceware.org/bugzilla/attachment.cgi?id=3D12872&action=3Ded= it the -g -O2 version of the binary I was comparing builds of the libpfm and papi binaries built with different compilers options. The expectation is that the ABI should be the same for = them as they are the same binary. However, I noticed that some of the bit fields were reports as missing from the binaries compiled with dwarf-5 as the debuginfo format. The libpfm also mentions some struct fields as static. Functions changes summary: 0 Removed, 4 Changed, 0 Added functions Variables changes summary: 0 Removed, 0 Changed, 0 Added variable 4 functions with some indirect sub-type change: [C] 'function int pfm_get_event_attr_info(int, int, pfm_os_t, pfm_event_attr_info_t*)' at pfmlib_common.c:2037:1 has some indirect sub-ty= pe changes: parameter 4 of type 'pfm_event_attr_info_t*' has sub-type changes: in pointed to type 'typedef pfm_event_attr_info_t' at pfmlib.h:715:1: underlying type 'struct {const char* name; const char* desc; const char* equiv; size_t size; uint64_t code; pfm_attr_t type; int idx; pfm_attr_ctrl_t ctrl; struct {unsigned int is_dfl; unsigned int is_precise; unsigned int is_speculative; unsigned int support_hw_smpl; unsigned int reserved_bits;}; union {uint64_t dfl_val64; const char* dfl_str; int dfl_bo= ol; int dfl_int;};}' at pfmlib.h:693:1 changed: type size hasn't changed 1 data member change: anonymous data member at offset 416 (in bits) changed from: struct {unsigned int is_dfl; unsigned int is_precise; unsigned int is_speculative; unsigned int support_hw_smpl; unsigned int reserved_bit= s;} to: struct {static unsigned int is_dfl; static unsigned int is_precise; static unsigned int is_speculative; static unsigned int support_hw_smpl; static unsigned int reserved_bits;} [C] 'function int pfm_get_event_info(int, pfm_os_t, pfm_event_info_t*)' at pfmlib_common.c:1979:1 has some indirect sub-type changes: parameter 3 of type 'pfm_event_info_t*' has sub-type changes: in pointed to type 'typedef pfm_event_info_t' at pfmlib.h:691:1: underlying type 'struct {const char* name; const char* desc; const char* equiv; size_t size; uint64_t code; pfm_pmu_t pmu; pfm_dtype_t dtype; = int idx; int nattrs; int reserved; struct {unsigned int is_precise; unsigned int is_speculative; unsigned int support_hw_smpl; unsigned int reserved_bits;};= }' at pfmlib.h:674:1 changed: type size hasn't changed 1 data member change: anonymous data member at offset 480 (in bits) changed from: struct {unsigned int is_precise; unsigned int is_speculative; unsigned int support_hw_smpl; unsigned int reserved_bits;} to: struct {static unsigned int is_precise; static unsigned int is_speculative; static unsigned int support_hw_smpl; static unsigned int reserved_bits;} [C] 'function int pfm_get_perf_event_encoding(const char*, int, perf_event_attr*, char**, int*)' at pfmlib_perf_event.c:395:1 has some indi= rect sub-type changes: parameter 3 of type 'perf_event_attr*' has sub-type changes: in pointed to type 'struct perf_event_attr' at perf_event.h:250:1: type size hasn't changed 29 data member deletions: 'uint64_t perf_event_attr::namespaces', at offset 35 (in bits) at perf_event.h:290:1 'uint64_t perf_event_attr::write_backward', at offset 36 (in bits= ) at perf_event.h:289:1 'uint64_t perf_event_attr::context_switch', at offset 37 (in bits= ) at perf_event.h:288:1 'uint64_t perf_event_attr::use_clockid', at offset 38 (in bits) at perf_event.h:287:1 'uint64_t perf_event_attr::comm_exec', at offset 39 (in bits) at perf_event.h:286:1 'uint64_t perf_event_attr::mmap2', at offset 40 (in bits) at perf_event.h:285:1 'uint64_t perf_event_attr::exclude_callchain_user', at offset 41 = (in bits) at perf_event.h:284:1 'uint64_t perf_event_attr::exclude_callchain_kernel', at offset 42 (in bits) at perf_event.h:283:1 'uint64_t perf_event_attr::exclude_guest', at offset 43 (in bits)= at perf_event.h:282:1 'uint64_t perf_event_attr::exclude_host', at offset 44 (in bits) = at perf_event.h:281:1 'uint64_t perf_event_attr::sample_id_all', at offset 45 (in bits)= at perf_event.h:280:1 'uint64_t perf_event_attr::mmap_data', at offset 46 (in bits) at perf_event.h:279:1 'uint64_t perf_event_attr::precise_ip', at offset 47 (in bits) at perf_event.h:278:1 'uint64_t perf_event_attr::watermark', at offset 49 (in bits) at perf_event.h:277:1 'uint64_t perf_event_attr::task', at offset 50 (in bits) at perf_event.h:276:1 'uint64_t perf_event_attr::enable_on_exec', at offset 51 (in bits= ) at perf_event.h:275:1 'uint64_t perf_event_attr::inherit_stat', at offset 52 (in bits) = at perf_event.h:274:1 'uint64_t perf_event_attr::freq', at offset 53 (in bits) at perf_event.h:273:1 'uint64_t perf_event_attr::comm', at offset 54 (in bits) at perf_event.h:272:1 'uint64_t perf_event_attr::mmap', at offset 55 (in bits) at perf_event.h:271:1 'uint64_t perf_event_attr::exclude_idle', at offset 56 (in bits) = at perf_event.h:270:1 'uint64_t perf_event_attr::exclude_hv', at offset 57 (in bits) at perf_event.h:269:1 'uint64_t perf_event_attr::exclude_kernel', at offset 58 (in bits= ) at perf_event.h:268:1 'uint64_t perf_event_attr::exclude_user', at offset 59 (in bits) = at perf_event.h:267:1 'uint64_t perf_event_attr::exclusive', at offset 60 (in bits) at perf_event.h:266:1 'uint64_t perf_event_attr::pinned', at offset 61 (in bits) at perf_event.h:265:1 'uint64_t perf_event_attr::inherit', at offset 62 (in bits) at perf_event.h:264:1 'uint64_t perf_event_attr::disabled', at offset 63 (in bits) at perf_event.h:263:1 'uint64_t perf_event_attr::__reserved_1', at offset 320 (in bits)= at perf_event.h:291:1 [C] 'function int pfm_get_pmu_info(pfm_pmu_t, pfm_pmu_info_t*)' at pfmlib_common.c:2111:1 has some indirect sub-type changes: parameter 2 of type 'pfm_pmu_info_t*' has sub-type changes: in pointed to type 'typedef pfm_pmu_info_t' at pfmlib.h:662:1: underlying type 'struct {const char* name; const char* desc; size_t size; pfm_pmu_t pmu; pfm_pmu_type_t type; int nevents; int first_event; int max_encoding; int num_cntrs; int num_fixed_cntrs; struct {unsigned int is_present; unsigned int is_dfl; unsigned int reserved_bits;};}' at pfmlib.h:646:1 changed: type size hasn't changed 1 data member change: anonymous data member at offset 416 (in bits) changed from: struct {unsigned int is_present; unsigned int is_dfl; unsigned int reserved_bits;} to: struct {static unsigned int is_present; static unsigned int is_dfl; static unsigned int reserved_bits;} --=20 You are receiving this mail because: You are on the CC list for the bug.=