Absolute symbols

Alan Modra amodra@gmail.com
Thu May 3 04:54:00 GMT 2012

On Wed, May 02, 2012 at 08:55:11PM -0700, Cary Coutant wrote:
> Absolute symbols, from the days of the earliest linking loaders,
> have been used to represent addresses that are outside the address
> space of the module (e.g., memory-mapped addresses or kernel gateway
> pages). They've even been used to represent true symbolic constants
> (e.g., system entry point numbers, sizes, version numbers). There's no
> other way to represent a true absolute symbol, while the meaning you
> seek is easily represented by giving the symbol a non-negative
> st_shndx value.

You've taken the wind out of my sails.  I've got to admit that the
only reasonable conclusion to make in resolving this contradiction
between GNU ld behaviour and the ELF spec is that GNU ld was simply
wrong to copy SysV linker bugs.  We've had this habit of making
_DYNAMIC and other syms SHN_ABS for a long time.  x86, sparc, powerpc
all do the same.

Alan Modra
Australia Development Lab, IBM

More information about the Binutils mailing list