[ia64-abi] Issue 82: Initializer priorities

Mike Walker msw at eng.sun.com
Fri Mar 31 17:23:31 UTC 2000


Jim Dehnert wrote:

> 
> On a system where the linker does no more than this, the C++
> implementation must do the following:
> 
>         In bracketing files for the link (e.g. crt1.o and crtn.o),
>         emit delimiting labels in the SHT_CXX_PRIORITY_INIT section,
>         and entries in INITARRAY that call an initialization
>         routine that passes the labels (all STV_HIDDEN to avoid
>         conflicts between DSOs).  The call at the beginning would
>         sort the SHT_CXX_PRIORITY_INIT vector by priority and invoke
>         the negative-priority initializers, and the one at the end
>         would invoke the positive-priority initializers.

I think it's worth hi-lighting that one of the main motivations 
for us introducing the DT_INITARRAY & DT_FINIARRAY was so that
we could move away from the requirement of having crt*.o
modules when a final link is performed.  Ideally - they are no
longer required for the ia64 development environment.

This proposal introduces a new dependency on the crt*.o modules
which we were trying to move away from.  Is that an issue
for others?

I know that we at Sun are a long way from being crt'less so
it's not that big of an issue for us - but it's worth bringing up
for discussion.


_Mike_


-- 
---
Michael Walker                           Michael.Walker at Eng.Sun.Com
Linker Developer                         (650) 786-5744
Sun Microsystems, Inc.
901 San Antonio Road, MS MPK17-307 Palo Alto, CA 94303-4900




More information about the cxx-abi-dev mailing list