This is the mail archive of the gcc-patches@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: [PATCH] fix PR sanitizer/55617


I can't see how full init_priority support can work without proper aid
from ld and/or the dynamic linker. According to the Apple people,
those don't treat the cross-module priorities properly, so there's
little that can be done on the compiler side.

On Mon, Feb 4, 2013 at 11:39 PM, Mike Stump <mikestump@comcast.net> wrote:
> On Feb 4, 2013, at 1:38 AM, Jakub Jelinek <jakub@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.



--
Alexander Potapenko
Software Engineer
Google Moscow


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