On Wed, Feb 06, 2013 at 07:14:07PM +0400, Alexander Potapenko wrote: > > Alexander, > > I never claimed full init priority support however FSF gcc on darwin > > currently > > has no init priority support at all. Since Mike wanted to sort the > > destructors as > > well as the constructors and this achieves usable intra-module init > > priority support > > for FSF gcc darwin, I don't see why we don't take advantage of it. > > Especially > > considering that the constructors and destructors will now always be sorted > > anyway. > > Jack > > ps We will have one advantage over clang's init priority support as we can > > use -flto > > to combine all of the code modules (outside of libraries) into a single one > > for the > > sorting of constructors/destructors. This allows the > > g++.dg/special/conpr-3.C execution > > test case to operate properly on darwin with -flto. Again, remember that > > clang currently > > at least supports init priority on a intra-module level. I am just trying > > to leverage > > the sorting of constructors/destructors that we added for asan to achive > > the same > > level of functionality in FSF gcc on darwin. > > > > Jack, > I understand and fully support your desire for intra-module ctor/dtor > priority. > My comment was meant to reply to Mike (sorry for top-posting it, > again), who, as far as I understood him, wanted to see full > init_priority support on Darwin, which IIUC can't be implemented > without the proper linker support. LTO may help as a bandaid, but I > don't think this solution scales well enough yet. > > Alex
Alex, I have already opened a radr://13149612, "inter module constructor/destructor priority support needed on darwin", and pinged the darwin linker developer on this issue. Jack ps Once we have init priority enabled on darwin in gcc trunk, I plan to open a radar about the absence of support collating this at -O4 on clang. That should be easier to address and might get Apple looking at the state of their init priority support again. IHMO, it would be a start if they at least support inter-module priority support in clang's internal assembler. I've been lobbying Apple for sometime to provide a stand-alone gas replacement based on clang's internal assembler so we would eventually get such fixes through that.