Define architectural load bases for PIE binaries. Addresses were selected

by looking at the bases used for non-relocatable executables by gnu ld(1),
and adjusting it slightly.

Discussed with:	bz
Reviewed by:	kan
Tested by:	bz (i386, amd64), bsam (linux)
MFC after:	some time
This commit is contained in:
Konstantin Belousov 2009-10-10 15:31:24 +00:00
parent 5b33842a9b
commit 023063938a
8 changed files with 21 additions and 0 deletions

View File

@ -106,4 +106,10 @@ __ElfType(Auxinfo);
#define ELF_TARG_MACH EM_X86_64
#define ELF_TARG_VER 1
#if __ELF_WORD_SIZE == 32
#define ET_DYN_LOAD_ADDR 0x01001000
#else
#define ET_DYN_LOAD_ADDR 0x01021000
#endif
#endif /* !_MACHINE_ELF_H_ */

View File

@ -97,4 +97,7 @@ __ElfType(Auxinfo);
* value.
*/
#define MAGIC_TRAMP_NUMBER 0x5c000003
#define ET_DYN_LOAD_ADDR 0x12000
#endif /* !_MACHINE_ELF_H_ */

View File

@ -105,4 +105,6 @@ __ElfType(Auxinfo);
#define ELF_TARG_MACH EM_386
#define ELF_TARG_VER 1
#define ET_DYN_LOAD_ADDR 0x01001000
#endif /* !_MACHINE_ELF_H_ */

View File

@ -141,4 +141,6 @@ __ElfType(Auxinfo);
#define DT_IA_64_PLT_RESERVE 0x70000000
#define ET_DYN_LOAD_ADDR 0x2500000000000000
#endif /* !_MACHINE_ELF_H_ */

View File

@ -250,4 +250,6 @@ __ElfType(Auxinfo);
#define AT_COUNT 16 /* Count of defined aux entry types. */
#define ET_DYN_LOAD_ADDR 0x0120000
#endif /* !_MACHINE_ELF_H_ */

View File

@ -96,4 +96,6 @@ __ElfType(Auxinfo);
#define ELF_TARG_MACH EM_PPC
#define ELF_TARG_VER 1
#define ET_DYN_LOAD_ADDR 0x01010000
#endif /* !_MACHINE_ELF_H_ */

View File

@ -97,4 +97,6 @@ __ElfType(Auxinfo);
#define ELF_TARG_MACH ELF_ARCH
#define ELF_TARG_VER 1
#define ET_DYN_LOAD_ADDR 0x150000000
#endif /* !_MACHINE_ELF_H_ */

View File

@ -97,4 +97,6 @@ __ElfType(Auxinfo);
#define ELF_TARG_MACH ELF_ARCH
#define ELF_TARG_VER 1
#define ET_DYN_LOAD_ADDR 0x150000000
#endif /* !_MACHINE_ELF_H_ */