[parisc-linux] Use of the EI_OSABI field

H . J . Lu hjl@valinux.com
Tue, 21 Nov 2000 19:11:29 -0800


On Wed, Nov 22, 2000 at 02:03:07PM +1100, Alan Modra wrote:
> On Tue, 21 Nov 2000, H . J . Lu wrote:
> 
> > On Wed, Nov 22, 2000 at 11:13:29AM +1100, Alan Modra wrote:
> > > 
> > > > Anyway, the ABI value is zero unless you implement ELF extensions.
> > > 
> > > Exactly what is an "ELF extension"?  Anything outside gABI or
> > 
> > ELF extension is something whose interpretation is not documented in
> > neither gABI nor psABI. HP's old ELF is a good example since it didn't
> > implement DT_INIT/DT_FINI, but added DT_INIT_ARRARY/DT_FINI_ARRAY. A
> > normal ELF tool will have a hard time to interpret those fields and
> > their values.
> 
> Neither you nor Ulrich have responded to John's point that the IA64 psABI
> states
>   "The e_ident[EI_OSABI] value identifies the operating system and ABI to
>    which the object is targeted"
> 
> Granted, this is only in a processor specific ABI, but it does flatly
> contradict your assertions that the purpose of EI_OSABI is to flag the
> presense of ELF extensions.
> 

When I was at the IA64 ABI meeting yesterday, we were looking at the
EI_OSABI issue. Everyone at the IA64 ABI meeting agreed that what
Ulrich and I had said was the correct understanding.

"The e_ident[EI_OSABI] value identifies the operating system and ABI
to which the object is targeted" just means if the e_ident[EI_OSABI]
value is not ELFOSABI_NONE, you have to look somewhere else in addition
to gABI and IA64 psABI to interpret the ELF fields/values specific to
that OS. Otherwise, gABI and IA64 psABI are sufficient.

-- 
H.J. Lu (hjl@valinux.com)