[llvm] r191225 - Handle gnu pubtypes sections:
Eric Christopher
echristo at gmail.com
Mon Sep 23 14:37:06 PDT 2013
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"
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
>
>
More information about the llvm-commits
mailing list