From 01f3e03bcd992cc2917f5d228e763ef3d65e67ad Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Tue, 13 Feb 1996 09:26:53 +0000 Subject: Sat Feb 10 13:09:03 1996 Andreas Schwab * sysdeps/unix/sysv/linux/sys/mman.h: Define MAP_ANON and MAP_FILE if not already defined. * elf/elf.h: Add m68k reloc definitions. * sysdeps/m68k/dl-machine.h, sysdeps/m68k/elf/start.S: New files. Sat Feb 10 13:09:03 1996 Andreas Schwab * sysdeps/unix/sysv/linux/sys/mman.h: Define MAP_ANON and MAP_FILE if not already defined. * elf/elf.h: Add m68k reloc definitions. * sysdeps/m68k/dl-machine.h, sysdeps/m68k/elf/start.S: New files. --- elf/dl-runtime.c | 6 +++++- elf/elf.h | 28 ++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) (limited to 'elf') diff --git a/elf/dl-runtime.c b/elf/dl-runtime.c index 7e554bc..6ee1a94 100644 --- a/elf/dl-runtime.c +++ b/elf/dl-runtime.c @@ -48,7 +48,11 @@ static Elf32_Addr fixup (struct link_map *l, Elf32_Word reloc_offset) function. */ static Elf32_Addr -fixup (struct link_map *l, Elf32_Word reloc_offset) +fixup ( +#ifdef ELF_MACHINE_RUNTIME_FIXUP_ARGS + ELF_MACHINE_RUNTIME_FIXUP_ARGS, +#endif + struct link_map *l, Elf32_Word reloc_offset) { const Elf32_Sym *const symtab = (const Elf32_Sym *) (l->l_addr + l->l_info[DT_SYMTAB]->d_un.d_ptr); diff --git a/elf/elf.h b/elf/elf.h index 6eaf31f..207db00 100644 --- a/elf/elf.h +++ b/elf/elf.h @@ -439,6 +439,34 @@ typedef struct #define AT_GID 13 /* Real gid */ #define AT_EGID 14 /* Effective gid */ +/* Motorola 68k specific definitions. */ + +/* m68k relocs. */ + +#define R_68K_NONE 0 /* No reloc */ +#define R_68K_32 1 /* Direct 32 bit */ +#define R_68K_16 2 /* Direct 16 bit */ +#define R_68K_8 3 /* Direct 8 bit */ +#define R_68K_PC32 4 /* PC relative 32 bit */ +#define R_68K_PC16 5 /* PC relative 16 bit */ +#define R_68K_PC8 6 /* PC relative 8 bit */ +#define R_68K_GOT32 7 /* 32 bit PC relative GOT entry */ +#define R_68K_GOT16 8 /* 16 bit PC relative GOT entry */ +#define R_68K_GOT8 9 /* 8 bit PC relative GOT entry */ +#define R_68K_GOT32O 10 /* 32 bit GOT offset */ +#define R_68K_GOT16O 11 /* 16 bit GOT offset */ +#define R_68K_GOT8O 12 /* 8 bit GOT offset */ +#define R_68K_PLT32 13 /* 32 bit PC relative PLT address */ +#define R_68K_PLT16 14 /* 16 bit PC relative PLT address */ +#define R_68K_PLT8 15 /* 8 bit PC relative PLT address */ +#define R_68K_PLT32O 16 /* 32 bit PLT offset */ +#define R_68K_PLT16O 17 /* 16 bit PLT offset */ +#define R_68K_PLT8O 18 /* 8 bit PLT offset */ +#define R_68K_COPY 19 /* Copy symbol at runtime */ +#define R_68K_GLOB_DAT 20 /* Create GOT entry */ +#define R_68K_JMP_SLOT 21 /* Create PLT entry */ +#define R_68K_RELATIVE 22 /* Adjust by program base */ + /* Intel 80386 specific definitions. */ /* i386 relocs. */ -- cgit v1.1