On Feb 4, 2013, at 1:38 AM, Jakub Jelinek <ja...@redhat.com> wrote: > On Mon, Feb 04, 2013 at 10:22:48AM +0100, Richard Biener wrote: >>> Okay for gcc trunk? >> >> But that does not work across translation units, no? ISTR collect2 has >> support >> to handle constructor priorities all by itself (at link time, >> considering all inputs). > > I wonder why the patch turned from initially at least supporting intra-CU > support for ctor priorities into an ugly hack for asan. I guess asan > doesn't care too much about inter-CU ctor priorities, it just needs its > ctors to run before anything in the same CU is called (mainly the > __asan_init call), other CUs either won't be asan instrumented, then it > doesn't matter, or will be, but they will have their own __asan_init call. > >> I wonder why darwin cannot use that mechanism to support init priorities? > > But sure, if collect2 can be used for full init prio support, the better.
It would be nice if someone contributed full init_priority support… I'd be happy to review that. A good patch for that would add it to clang for darwin, and have gcc use that same mechanism so that we can interoperate nicely. Absent interoperability… I think it would be annoying, as then you have to have a binary incompatibility to fix the one that is wrong.