On Tue, Aug 31, 2010 at 08:43:33PM +0400, Valeriy E. Ushakov wrote:
> On Tue, Aug 31, 2010 at 16:24:40 +0000, Tom Spindler wrote:
> 
> > >   src/sys/sys: exec_elf.h
> > > 
> > > Log Message:
> > > Replace the current usage of Elf64_Half with Elf64_Word and rename
> > > NetBSD specific Elf64_Quarter to Elf64_Half. This restores compatibility
> > > with the common ELF specifications.
> > 
> > I believe this change is what's causing alpha to blow up:
> > 
> > /src/nbsrc/external/bsd/libdwarf/dist/dwarf_dump.c:884: warning: format 
> > '%u' expects type 'unsigned int', but argument 2 has type 'Elf64_Word'
> > /src/nbsrc/external/bsd/libdwarf/dist/dwarf_dump.c:886: warning: format 
> > '%u' expects type 'unsigned int', but argument 3 has type 'Elf64_Word'
> > 
> > There's (still) a ton of lint warnings in libdwarf, but they don't seem to
> > have changed for i386, at least.
> 
> 
> sys/arch/alpha/include/elf_machdep.h:
> 
> /*
>  * Alpha ELF uses different (non-standard) definitions of Elf64_Sword
>  * and Elf64_Word.
>  */
> typedef       int64_t         Elf64_Sword;
> #define       ELF64_FSZ_SWORD 8
> typedef       uint64_t        Elf64_Word;
> #define       ELF64_FSZ_WORD  8

That violates the ELF API as specified by SCO again. Is there any reason
why Alpha has to be special and can't just use the standard types?

Joerg

Reply via email to