summaryrefslogtreecommitdiffstats
path: root/libexec/rtld-elf/rtld.h
diff options
context:
space:
mode:
Diffstat (limited to 'libexec/rtld-elf/rtld.h')
-rw-r--r--libexec/rtld-elf/rtld.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/libexec/rtld-elf/rtld.h b/libexec/rtld-elf/rtld.h
index f1a9afd..1380e74 100644
--- a/libexec/rtld-elf/rtld.h
+++ b/libexec/rtld-elf/rtld.h
@@ -22,7 +22,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: rtld.h,v 1.4 1998/09/02 02:51:12 jdp Exp $
+ * $Id: rtld.h,v 1.5 1998/09/04 19:03:57 dfr Exp $
*/
#ifndef RTLD_H /* { */
@@ -34,6 +34,8 @@
#include <elf.h>
#include <stddef.h>
+#include "rtld_machdep.h"
+
#ifndef STANDARD_LIBRARY_PATH
#define STANDARD_LIBRARY_PATH "/usr/lib/elf:/usr/lib"
#endif
@@ -85,7 +87,7 @@ typedef struct Struct_Obj_Entry {
size_t phsize; /* Size of program header in bytes */
/* Items from the dynamic section. */
- Elf_Addr *got; /* GOT table */
+ Elf_Addr *pltgot; /* PLT or GOT, depending on architecture */
const Elf_Rel *rel; /* Relocation entries */
unsigned long relsize; /* Size in bytes of relocation info */
const Elf_Rela *rela; /* Relocation entries with addend */
@@ -132,11 +134,13 @@ extern Elf_Addr _GLOBAL_OFFSET_TABLE_[];
* Function declarations.
*/
int do_copy_relocations(Obj_Entry *);
-int reloc_non_plt(Obj_Entry *, Obj_Entry *);
-int reloc_plt(Obj_Entry *, bool);
unsigned long elf_hash(const char *);
const Elf_Sym *find_symdef(unsigned long, const Obj_Entry *,
const Obj_Entry **, bool);
+void init_pltgot(Obj_Entry *);
+int reloc_non_plt(Obj_Entry *, Obj_Entry *);
+int reloc_plt(Obj_Entry *, bool);
+void _rtld_bind_start(void);
const Elf_Sym *symlook_obj(const char *, unsigned long,
const Obj_Entry *, bool);
OpenPOWER on IntegriCloud