public inbox for libabigail@sourceware.org
 help / color / mirror / Atom feed
* [Bug default/26684] New: abidiff says that some bit field elements missing in version of binary with dwarf5 debuginfo.
@ 2020-09-30 18:18 wcohen at redhat dot com
  2020-09-30 18:19 ` [Bug default/26684] " wcohen at redhat dot com
                   ` (17 more replies)
  0 siblings, 18 replies; 19+ messages in thread
From: wcohen at redhat dot com @ 2020-09-30 18:18 UTC (permalink / raw)
  To: libabigail

https://sourceware.org/bugzilla/show_bug.cgi?id=26684

            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=12872&action=edit
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-type
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_bool;
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_bits;}
            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 indirect
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;}

-- 
You are receiving this mail because:
You are on the CC list for the bug.

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2023-01-01 18:09 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-30 18:18 [Bug default/26684] New: abidiff says that some bit field elements missing in version of binary with dwarf5 debuginfo wcohen at redhat dot com
2020-09-30 18:19 ` [Bug default/26684] " wcohen at redhat dot com
2020-09-30 18:20 ` wcohen at redhat dot com
2020-09-30 18:21 ` wcohen at redhat dot com
2020-09-30 18:22 ` wcohen at redhat dot com
2020-10-01 16:01 ` mark at klomp dot org
2020-10-01 17:00 ` wcohen at redhat dot com
2020-10-01 20:50 ` mark at klomp dot org
2020-10-01 20:54 ` mark at klomp dot org
2020-10-01 21:55 ` mark at klomp dot org
2020-10-02 10:07 ` dodji at redhat dot com
2020-10-02 14:42 ` mark at klomp dot org
2020-10-02 14:46 ` mark at klomp dot org
2020-10-02 14:52 ` mark at klomp dot org
2020-10-20 10:26 ` dodji at redhat dot com
2020-10-23  8:24 ` dodji at redhat dot com
2020-10-23 10:35 ` fche at redhat dot com
2020-10-23 11:29 ` dodji at redhat dot com
2023-01-01 18:09 ` dodji at redhat dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).