Thanks! On Fri 28 Jul 2017 at 13:41, David Chisnall <thera...@sucs.org> wrote:
> On 28 Jul 2017, at 13:16, Ivan Vučica <i...@vucica.net> wrote: > > > > Isn't it this? I'm intentionally grabbing an older version - I'm not > sure which is the oldest GCC we support, but 3.4.5 documents alias: > > > > https://gcc.gnu.org/onlinedocs/gcc-3.4.5/gcc/Function-Attributes.html > > > > Quoting: > > > > ===== > > alias ("target") > > The alias attribute causes the declaration to be emitted as an alias for > another symbol, which must be specified. For instance, > > void __f () { /* Do something. > > */; } > > void f () __attribute__ ((weak, alias ("__f"))); > > > > > > declares `f' to be a weak alias for `__f'. In C++, the mangled name for > the target must be used. > > > > Not all target machines support this attribute. > > > > ==== > > It’s documented as a function attribute. It kind-of works as a variable > attribute, but probably doesn’t. > > > Though, again, as I asked before: why do we want this? > > > > I'm not sure we *need* anything more than the macro. Wouldn't we need > this extra symbol only if we care about better binary compat (maybe for > Darling's sake)? > > It also helps bridging from other languages. Macros as a colossal pain to > expose over FFIs, public symbols are trivial. dlsym works if it’s an > alias, doesn’t work if it’s a macro. > > David > > -- Sent from Gmail Mobile on iPad
_______________________________________________ Gnustep-dev mailing list Gnustep-dev@gnu.org https://lists.gnu.org/mailman/listinfo/gnustep-dev