public inbox for libabigail@sourceware.org
 help / color / mirror / Atom feed
* [Bug default/21843] New: libabigail getting confused or possibly bad dwarf
@ 2017-01-01  0:00 woodard at redhat dot com
  2017-01-01  0:00 ` [Bug default/21843] " woodard at redhat dot com
                   ` (11 more replies)
  0 siblings, 12 replies; 13+ messages in thread
From: woodard at redhat dot com @ 2017-01-01  0:00 UTC (permalink / raw)
  To: libabigail

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

            Bug ID: 21843
           Summary: libabigail getting confused or possibly bad dwarf
           Product: libabigail
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: default
          Assignee: dodji at redhat dot com
          Reporter: woodard at redhat dot com
                CC: libabigail at sourceware dot org
  Target Milestone: ---

Created attachment 10287
  --> https://sourceware.org/bugzilla/attachment.cgi?id=10287&action=edit
clang object

I'm sorry if this is poorly specified. I generally try to boil them down to
either compiler DWARF generation errors or libabigail problems. In this case I
haven't been able to unravel the DWARF well enough to be able to tell.

The source code is trivial:
#include <vector>

std::vector<int> var;

When compiled with gcc and clang
g++ (GCC) 7.1.1 20170622 (Red Hat 7.1.1-3)
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

clang version 4.0.0 (tags/RELEASE_400/final)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /usr/bin

ends up generating some curious errors:

[ben@localhost c++test]$ cat test4.abidiff 
Functions changes summary: 0 Removed, 0 Changed, 0 Added function
Variables changes summary: 0 Removed, 1 Changed, 0 Added variable

1 Changed variable:

  [C]'std::vector<int, std::allocator<int> > var' was changed at test4.C:3:1:
    type of variable changed:
     type size hasn't changed
     1 base class change:
       'struct std::_Vector_base<int, std::allocator<int> >' at
stl_vector.h:74:1 changed:
         type size hasn't changed
         1 data member change:
          type of 'std::_Vector_base<int, std::allocator<int> >::_Vector_impl
std::_Vector_base<int, std::allocator<int> >::_M_impl' changed:
            type size hasn't changed
            3 data member changes:
             type of 'std::_Vector_base<int, std::allocator<int> >::pointer
std::_Vector_base<int, std::allocator<int> >::_Vector_impl::_M_start' changed:
               underlying type 'typedef
__gnu_cxx::__alloc_traits<std::allocator<int> >::pointer' at
alloc_traits.h:120:1 changed:
                 underlying type 'typedef
std::allocator_traits<std::allocator<int> >::pointer' at allocator.h:113:1
changed:
                   'typedef std::allocator_traits<std::allocator<int>
>::pointer' access changed from 'public' to 'private'
                   typedef name changed from
std::allocator_traits<std::allocator<int> >::pointer to
std::allocator<int>::pointer at allocator.h:113:1

...

The accessibility thing looks like a minor DWARF buglet by one of the
compilers. However, I have been unable to trace through the DWARF from GCC to
find the type that it refers to. I also talked to mjw and he had trouble
tracking down the underlying type as well. The challenge appears to be the way
that gcc imports modules. This makes it extremely difficult to manually track
through GCC's DWARF.

More concerning to me and why I've been spending so much time on this is:
                   typedef name changed from
std::allocator_traits<std::allocator<int> >::pointer to
std::allocator<int>::pointer at allocator.h:113:1

To me this looks like:
1) libabigail is confused and is mistaking one type for another
2) something is wrong in GCC's DWARF (which I find less likely - thus this bug)

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

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

end of thread, other threads:[~2021-12-01 23:29 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-01-01  0:00 [Bug default/21843] New: libabigail getting confused or possibly bad dwarf woodard at redhat dot com
2017-01-01  0:00 ` [Bug default/21843] " woodard at redhat dot com
2017-01-01  0:00 ` [Bug default/21843] libabigail not correctly keeping track of nested scopes for typedefs woodard at redhat dot com
2017-01-01  0:00 ` [Bug default/21843] libabigail getting confused or possibly bad dwarf woodard at redhat dot com
2017-01-01  0:00 ` [Bug default/21843] libabigail not correctly keeping track of nested scopes for typedefs woodard at redhat dot com
2017-01-01  0:00 ` woodard at redhat dot com
2017-01-01  0:00 ` woodard at redhat dot com
2017-01-01  0:00 ` woodard at redhat dot com
2017-01-01  0:00 ` woodard at redhat dot com
2017-01-01  0:00 ` dodji at redhat dot com
2017-01-01  0:00 ` woodard at redhat dot com
2017-01-01  0:00 ` woodard at redhat dot com
2021-12-01 23:29 ` woodard 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).