This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: ideal visibility setting?
Jay K <jay.krell@cornell.edu> writes:
> Data accesses I would assume are almost never cross-.dso.
> The rare ones would be source-annotated with some sort of "import",
> and the compiler would generate less efficient but PIC code for them.
First, that just isn't how ELF works. ELF has a very simple model:
everything simply works correctly without source code annotation, and
symbol interposition works. You are looking for a more complex model
at the cost of adding source code annotations. That's not crazy, but
it's not ELF.
Second, I still don't understand how you can have position independent
code on 32-bit x86 which accesses global variables but does not use a
GOT.
> This is basically the Win32/NT model and seems pretty good.
The model is good until you need to use symbol interpositioning.
Symbol interpositioning is not a bizarre technique that nobody uses.
People use it regularly to, e.g., use debugging malloc code, or to add
profiling timers to all network accesses.
Ian