-fsection-anchors broken on ARM

Iain Buclaw ibuclaw at ubuntu.com
Wed Apr 24 07:12:07 PDT 2013


On 23 April 2013 18:25, Iain Buclaw <ibuclaw at ubuntu.com> wrote:

> On 23 April 2013 17:28, Johannes Pfau <nospam at example.com> wrote:
>
>> Am Tue, 23 Apr 2013 17:10:43 +0200
>> schrieb "Iain Buclaw" <ibuclaw at ubuntu.com>:
>>
>> > In reference to this link:
>> > http://forum.dlang.org/post/50476C77.20608@googlemail.com
>> >
>> >
>> > I'm currently working on dealing with each of these issues in the
>> > following pull (with the intention to merge back upstream where
>> > required).
>> > https://github.com/D-Programming-GDC/GDC/pull/62
>> >
>> I'll make sure to have a look at this, but as always too little time...
>>
>> > In order:
>> >
>> > 1. ClassInfo
>> >
>> > The initialiser emitted will have two symbols, one public symbol
>> > with the TypeInfo_Class members, and a second private generated
>> > symbol for the interfaces array.  I can't forsee any way this
>> > could break compatibility with any existing compilied gdc (or
>> > perhaps even dmd/ldc) binaries out there.
>>
>> Sounds good. That should also be good for debug info.
>>
>>
> Actually, found an interesting problem when confronting it.
>
> ---
> struct Interface
> {
>     TypeInfo_Class   classinfo;
>     void*[]     vtbl;
>     ptrdiff_t   offset;     /// offset to Interface 'this' from Object
> 'this'  <--
> }
> ---
>
> I'll have to have a think about what value should be put there, and how
> best to put it in.
>
>

Or alternatively we could generate the type (for debugging) on the flying
in ::toSymbol

1.  Module::toSymbol.

Type = Type::moduleinfo type.


2. ClassDeclaration::toSymbol

Type = Type::typeinfoclass type.

Then for each interface, add the fields for Type::interface onto the type.


3. InterfaceDeclaration::toSymbol

Likewise to above.


Regards
-- 
Iain Buclaw

*(p < e ? p++ : p) = (c & 0x0f) + '0';
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/d.gnu/attachments/20130424/155631f6/attachment.html>


More information about the D.gnu mailing list