On Tue, Dec 27, 2005 at 02:20:44PM -0800, Geoff Keating wrote: > I'm not sure what "just fine" definition you're using here. I don't > think you can say it's been extensively tested, and I'm fairly sure I > can find a bunch of bugs in it. I have already filed one as <http:// > gcc.gnu.org/bugzilla/show_bug.cgi?id=25140>; I understand that also > occurs on ELF targets. I don't believe it's been tested with IMA
PR25140 talks about something common to all kinds of aliases (replace `weakref' with `alias' or `weak, alias' and you'll get exactly the same result), so I don't know why you make a case against weakref from it. Weakrefs aren't really needed on Darwin for the purpose they have been added, so they could very well just be unsupported there too (if the target object file format doesn't support any kinds of aliases, why should it support weakrefs?). > I would describe the version on the 4.1 branch as a hack that's to > work only for libgfortran on ELF targets, and that's OK; but that > version is not ready for general use. I'd like to see such a general- It has nothing to do with libgfortran actually, libgfortran only ever uses the weak pthread function aliases within libgfortran. The reason why weakref attribute has been added is primarily libstdc++, see PR4372, because unlike libgfortran or libobjc, libstdc++ installed headers were using #pragma weak on all pthread_* functions it wanted to use. Jakub