This is the mail archive of the elfutils-devel@sourceware.org mailing list for the elfutils 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: run-elflint-self.sh fails on alpha


On 03/09/2011 11:17 AM, Roland McGrath wrote:
>> section [ 5] '.dynsym': symbol 61: unknown bit set in st_other
>> section [ 5] '.dynsym': symbol 64: unknown bit set in st_other
>> section [28] '.symtab': symbol 27: unknown bit set in st_other
>> section [28] '.symtab': symbol 34: unknown bit set in st_other
>> section [28] '.symtab': symbol 35: unknown bit set in st_other
>> section [28] '.symtab': symbol 36: unknown bit set in st_other
>> section [28] '.symtab': symbol 37: unknown bit set in st_other
>> section [28] '.symtab': symbol 38: unknown bit set in st_other
>> section [28] '.symtab': _GLOBAL_OFFSET_TABLE_ symbol value 0x120014010 does not match .got section address 0x120014000
> 
> These indicate either bugs in the compilation tools (probably ld) or else
> machine-specific oddities that the elfutils backend library for alpha needs
> to be taught to allow. 

The later.  From <elf.h>:

/* Legal values for st_other field of Elf64_Sym.  */
#define STO_ALPHA_NOPV          0x80    /* No PV required.  */
#define STO_ALPHA_STD_GPLOAD    0x88    /* PV only used for initial ldgp.  */


As for the _G_O_T_ symbol value, there's no reason for the value to even
be within the .got section; the value may be offset by +- 32k to aid
indexing.  Further, Alpha supports multiple .got subsections, such that
_G_O_T_ does not represent a global value across the entire DSO.
Honestly there's no reason to check this on Alpha.


r~

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