[Bug target/19520] protected function pointer doesn't work right
ian at airs dot com
gcc-bugzilla@gcc.gnu.org
Fri Jan 21 06:35:00 GMT 2005
------- Additional Comments From ian at airs dot com 2005-01-21 06:35 -------
I think this bug report is reporting an actual bug. At least when using ELF,
when the compiler takes the address of a protected function, it has to act as
though it is taking the address of an ordinary function, and rely on the dynamic
linker to do the right thing. If the compiler takes the address of a protected
function without using the PLT, then as HJ says function symbols can not compare
equal, even though they should. This is not something the linker can fix up.
The dynamic linker, however, when setting up the PLT, should observe that the
symbol is protected, and call the local symbol even if the executable overrides it.
In other words, we should only treat protected function symbols as special when
we call them. Otherwise they should be treated as ordinary symbols.
This only applies to ELF. I don't know what should be done for other object
file formats, if there are any others which support protected symbols.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19520
More information about the Gcc-bugs
mailing list