Re: [PATCH] In _IEEE_LIBM mode, use weak symbols instead of wrapper funcs [v3]
"Keith Packard" <[email protected]>
| Newsgroups | gmane.comp.lib.newlib |
|---|---|
| Message-ID | <[email protected]> |
Craig Howland <[email protected]> writes: > It's no difference than a weak alias--it requires object file support. To quote > from the GCC manual about a function alias attribute (which is what the macro > ends up using), "This attribute requires assembler and object file support, and > may not be available on all targets." It is different from weak in that it doesn't require any object file or linker support. For instance, here's what the __strong_reference does in e_acos.c: .globl acos .set acos,__ieee754_acos Using __weak_reference does this instead: .weak acos .equ acos, __ieee754_acos The GCC docs don't really talk about non-weak aliases at all which makes me unhappy as it would be useful to know if the statement you quoted refers to *all* aliases, or only weak aliases. However, given the current GCC docs, we'll certainly want to use a separate conditional instead of attempting to auto-detect this mode. I'll add that, but I won't add any autotools mechanism to define it as I cannot rebuild the configure scripts on Debian any longer. I'm not getting a sense of whether you think this is a useful change though; it seems like a fairly obvious optimization of the existing feature to me, but perhaps you're finding it too complicated to be useful upstream? -- -keith
signature.asc
(application/pgp-signature, 832 B)
-----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEw4O3eCVWE9/bQJ2R2yIaaQAAABEFAlulW48ACgkQ2yIaaQAA ABHyIQ/9E3RpRVAlgaqwO2y5EMQZZ0ubH6MsMkCcVgzHc6O4c3Hy1Jv/CYsDy3QP Uv+whj2XMSI4cPlRkNmwIEfYGKOnlC0bxvK8gzIe+r92LPyLXgpo0NnC/vqScrvV aLpkL+v+XXu+fo4eYYo7GNamqjcJmZ2Yl0BhwNmUGAiOJIoPVNHgAyYIE5sY7doB NZ1D+lnZ8JFMYWEwE41I5eb76f6BPKv2CkoOIS0nViLetn5CVvO/yKqzGs+vQdeP QagbOd5Eewe0EckbJCHDLd+Y/IXOuWYfp1DwYzwNoM99oaqMm1Hk7NlJq66K+DUu Rn7/yOHC0A3TjgjaK81kKuOYp9JHNiVaiV4Ty3AfticX1O3+bvwPj6wZNwYn9pvo D0+U7NG8W0gGxcYCfZcj1lGTO4e2kvNzk4140vHgErikl2c2QuRNQOp8mxG9nomM rkutxgYRzOxRXvY9iD3hwswx8kyEPEAUvm8uReMEpY2Gpeu3BCt29zoaDHM9J1iE Jo3i+3LUGkpD+2LkMcisrtbXXRsRNHdckkdcjFr1BvaeYfbjjMKcc64YyPiQR7A2 9NfIi1HGWT61W9Td824crzzP2614PMJ553d6xJmqWmxYRX1vuixM0BFGpwzChUpp sIegO/dwwTgaSSMN6wpEnvbJjdW8yORr8l+eRAAetKL1QZcOeiM= =AtKm -----END PGP SIGNATURE-----