This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: vtrelocs: large/modular C++ app speedup ...


Michael Meeks <michael.meeks@novell.com> writes:

> On Wed, 2008-04-02 at 07:56 -0700, Ian Lance Taylor wrote:
>> * Use GNU instead of SUSE, as this is for the GNU tools.
>
> 	Ah yes; you noticed the subliminal advertising ;-) If you're happy for
> me to trample on the GNU section namespace that's fine, but I hesitate
> to tread there by default.

In as much as the GNU namespace is managed at all, it is managed by
the people who read these mailing lists.  Don't worry about trampling
on it.


>> * Don't check for explicit section names.  Instead, give the section a
>>   magic type.
>> * It seems that this is not backward compatible--an executable built
>>   in this way will not work if the dynamic linker does not know about
>>   it.  The section should have the SHF_OS_NONCONFORMING bit set.
>
> 	Not clear how to fix either of those :-) I binned a redundant string
> section name lookup in the binutils patch though.

You need to emit an appropriate .section pseudo-op.


>> * Aren't you going to get a lot of duplicate vtreloc entries?
>>   Shouldn't they be grouped with the vtables themselves?
>
> 	That's entirely possible; perhaps I misunderstand the question, but had
> I hoped that by making the _ZVTR_ section weak the linker would discard
> any duplicate vtreloc records for the same vtable.

The linker doesn't work that way.  Symbols are weak, not sections.
Read up on section groups.

Ian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]