diff options
author | Philip Guenther <guenther@cvs.openbsd.org> | 2015-12-06 23:36:13 +0000 |
---|---|---|
committer | Philip Guenther <guenther@cvs.openbsd.org> | 2015-12-06 23:36:13 +0000 |
commit | 7413fbbb3ad3e91c48015fe94b6f4ac63be21936 (patch) | |
tree | 768704e20221c28786141ef735a8cad7220936e9 /libexec/ld.so/i386 | |
parent | 9ac61005742c439141221cf577db80ba25069147 (diff) |
Simplify the relocation code for the ld.so bootstrap and static pie: track
just the dynamic tags are needed instead of reusing the generic elf_object_t
structure.
testing and feedback from miod@
ok kettenis@
Diffstat (limited to 'libexec/ld.so/i386')
-rw-r--r-- | libexec/ld.so/i386/archdep.h | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/libexec/ld.so/i386/archdep.h b/libexec/ld.so/i386/archdep.h index a08d058dc6c..5bcea320c22 100644 --- a/libexec/ld.so/i386/archdep.h +++ b/libexec/ld.so/i386/archdep.h @@ -1,4 +1,4 @@ -/* $OpenBSD: archdep.h,v 1.13 2014/12/24 14:04:09 kurt Exp $ */ +/* $OpenBSD: archdep.h,v 1.14 2015/12/06 23:36:12 guenther Exp $ */ /* * Copyright (c) 1998 Per Fogelstrom, Opsycon AB @@ -29,6 +29,8 @@ #ifndef _I386_ARCHDEP_H_ #define _I386_ARCHDEP_H_ +#define RELOC_TAG DT_REL + #define DL_MALLOC_ALIGN 8 /* Arch constraint or otherwise */ #define MACHID EM_386 /* ELF e_machine ID value checked */ @@ -60,7 +62,7 @@ _dl_mquery(void *addr, unsigned int len, unsigned int prot, static inline void -RELOC_REL(Elf32_Rel *r, const Elf32_Sym *s, Elf32_Addr *p, unsigned long v) +RELOC_DYN(Elf32_Rel *r, const Elf32_Sym *s, Elf32_Addr *p, unsigned long v) { if (ELF32_R_TYPE(r->r_info) == RELOC_RELATIVE) { @@ -75,12 +77,6 @@ RELOC_REL(Elf32_Rel *r, const Elf32_Sym *s, Elf32_Addr *p, unsigned long v) } } -static inline void -RELOC_RELA(Elf32_Rela *r, const Elf32_Sym *s, Elf32_Addr *p, unsigned long v, - Elf_Addr *pltgot) -{ -} - #define RELOC_GOT(obj, offs) #define GOT_PERMS PROT_READ |