This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]