summaryrefslogtreecommitdiff
path: root/elf
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1996-02-13 09:26:53 +0000
committerRoland McGrath <roland@gnu.org>1996-02-13 09:26:53 +0000
commit01f3e03bcd992cc2917f5d228e763ef3d65e67ad (patch)
tree1ad618150324c534039e6810990fd57a1990243c /elf
parent38334018ff9ea088c24afd6c2a5b3baa12b6110e (diff)
Sat Feb 10 13:09:03 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* 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 <schwab@issan.informatik.uni-dortmund.de> * 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.
Diffstat (limited to 'elf')
-rw-r--r--elf/dl-runtime.c6
-rw-r--r--elf/elf.h28
2 files changed, 33 insertions, 1 deletions
diff --git a/elf/dl-runtime.c b/elf/dl-runtime.c
index 7e554bc831..6ee1a94128 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 6eaf31fc08..207db0010a 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. */