[llvm] r191225 - Handle gnu pubtypes sections:

David Blaikie dblaikie at gmail.com
Mon Sep 23 14:46:40 PDT 2013


On Mon, Sep 23, 2013 at 2:37 PM, Eric Christopher <echristo at gmail.com>wrote:

> Appears to be so. Compiling the same file with gcc for it gives this:
>
> .debug_gnu_pubnames contents:
> Length:                255
> Version:               2
> Offset in .debug_info: 0
> Size:                  232
> Offset     Linkage  Kind    Name
> 0x00000054 EXTERNAL FUNCTION "C::member_function"
> 0x0000007c EXTERNAL FUNCTION "C::static_member_function"
> 0x0000008d EXTERNAL FUNCTION "global_function"
> 0x000000a1 EXTERNAL TYPE "ns"
>

Hmm, weird that this prints out as "TYPE" rather than "NONE". Either a bug
in the dumping support or this is really being classified as a type, which
is a bit weird. *shrug* I'll just wait & see how your implementation of
namespaces looks/compares (still haven't bothered to setup a GCC that has
this feature, I don't think)


> 0x000000ab EXTERNAL FUNCTION "ns::global_namespace_function"
> 0x000000ba EXTERNAL FUNCTION "ns::global_namespace_function"
> 0x000000ca EXTERNAL VARIABLE "global_variable"
> 0x000000d5 EXTERNAL VARIABLE "ns::global_namespace_variable"
> 0x000000dd EXTERNAL VARIABLE "C::static_member_variable"
>
> which definitely has a type in pubnames.
>
> -eric
>
>
> On Mon, Sep 23, 2013 at 2:21 PM, David Blaikie <dblaikie at gmail.com> wrote:
> >
> >
> >
> > On Mon, Sep 23, 2013 at 2:19 PM, Eric Christopher <echristo at gmail.com>
> > wrote:
> >>
> >> > I take it we should be seeing that type (which type is it? 'C' I
> guess?)
> >> > in
> >> > the pubnames section too? (we had no types being checked for, nor
> >> > emitted,
> >> > in the test as originally committed - I assume that's a bug? but I had
> >> > seen
> >> > types emitted in some cases I'd been experimenting with)
> >> >
> >>
> >> Oddly enough, apparently not. We should be emitting qualified names as
> >> I mentioned the other day, that's the only place that C is appearing
> >> in the gnu pubnames section as emitted by gcc.
> >
> >
> > You mean "C" is only appearing in the context of some fully qualified
> name
> > of one of C's member functions? OK.
> >
> > But could we have a test case for some type in the pubnames section
> > (something where the descriminator is 'type' rather than 'function' or
> > 'variable')?
> >
> >>
> >>
> >> And yeah, that we weren't emitting, well anything, into the right
> >> section was the bug :)
> >>
> >> > I'll look into adding dumping support for pubtypes.
> >> >
> >>
> >> Sweet.
> >>
> >> -eric
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130923/12c40f52/attachment.html>


More information about the llvm-commits mailing list