Re: PIC is wasteful

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 06/23/2011 02:35 PM, Agner Fog wrote:

> It is possible to put absolute addresses into a .so and it works. I 
> tried this in Ubuntu, and it works with 32 bit absolute addresses in a 
> 32 bit .so, and with 64 bit absolute addresses in a 64 bit .so. The only 
> thing that doesn't work is 32 bit absolute addresses in a 64 bit so. In 
> many cases, this is faster than making PIC. I guess this was implemented 
> for the sake of virtual tables, jump tables, etc. My question is: Does 
> this work in all versions of Linux, BSD, MacOS? Which platforms or 
> versions do not allow absolute addresses in shared objects?

I don't understand how an absolute address can ever do anything useful
in a shared object.  By definition, you don't know where that shared
object will be loaded.  Can you provide an example of a 64-bit
absolute address in a 64-bit shared object?

Andrew.


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux