tech-userlevel archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Fwd: missing ELF-related constants
---------- Forwarded message ----------
From: enh <enh%google.com@localhost>
Date: Thu, Jan 31, 2013 at 1:19 PM
Subject: Re: missing ELF-related constants
To: Matt Thomas <matt%3am-software.com@localhost>
Cc: tech-userlevel%netbsd.org@localhost
On Tue, Jan 29, 2013 at 5:01 PM, Matt Thomas <matt%3am-software.com@localhost>
wrote:
>
>
> On Jan 29, 2013, at 4:17 PM, enh wrote:
>
> > i just switched bionic (the Android C library) over to the NetBSD
> > <sys/exec_elf.h> from the existing mishmash of OpenBSD files and Linux
> > kernel header files.
> >
> > the NetBSD headers appear to be a superset, but they're still missing
> > some constants that are in the specification...
> >
> > a couple of architecture-independent constants are missing from
> > exec_elf.h: DT_PREINIT_ARRAY, DT_PREINIT_ARRAYSZ (see figure 5-10 of
> > http://www.sco.com/developers/gabi/latest/ch5.dynamic.html#dynamic_section)
> >
> > three MIPS-specific constants are missing from elf_machdep.h:
> > R_MIPS_JUMP_SLOT, DT_MIPS_PLTGOT, DT_MIPS_RWPLT (see
> > http://sourceware.org/ml/binutils/2008-07/msg00008.html).
> >
> > these constants can all be found in the (BSD licensed)
> > bionic/linker/linker.h file:
> >
> > #define R_MIPS_JUMP_SLOT 127
>
> Hmmm. Linux switched away from ABICALLS?
no. but Linux on MIPS supports an alternative. (not used on Android.)
>
> > #define DT_MIPS_PLTGOT 0x70000032
>
> That looks reasonable.
>
> > #define DT_MIPS_RWPLT 0x70000034
>
> Why would you ever want a writable PLT? I moved ppc from their PLT in bss
> to the readonly secure-plt. A writeable PLT is just a bad idea which is why
> powerpc moved away from it.
this is how MIPS implements non-PIC code.
if we were to remove everything tasteless from all header files, we'd have
much smaller header files. but they'd be a much less complete description of
the world as it actually is :-)
>
> > #define DT_PREINIT_ARRAY 32
> > #define DT_PREINIT_ARRAYSZ 33
>
> Those are OK too.
these two are the only two i absolutely need.
--elliott
Home |
Main Index |
Thread Index |
Old Index