summaryrefslogtreecommitdiff
path: root/ldso/ldso/m68k
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2001-05-01 14:20:45 +0000
committerEric Andersen <andersen@codepoet.org>2001-05-01 14:20:45 +0000
commitb7bc129184a23d4c9c70774362f4eeaa5e0b44c8 (patch)
treef42053a86d7e4f8c156663b4c9c791deef7e2ef5 /ldso/ldso/m68k
parent22a9e5bbdf43e1086d80341480d0601ee9c6f898 (diff)
Yet another major rework. This time around, rework it to no longer
use linux kernel header files. -Erik
Diffstat (limited to 'ldso/ldso/m68k')
-rw-r--r--ldso/ldso/m68k/dl-syscalls.h1
-rw-r--r--ldso/ldso/m68k/elfinterp.c54
-rw-r--r--ldso/ldso/m68k/ld_syscalls.h1
-rw-r--r--ldso/ldso/m68k/syscalls.h1
4 files changed, 23 insertions, 34 deletions
diff --git a/ldso/ldso/m68k/dl-syscalls.h b/ldso/ldso/m68k/dl-syscalls.h
index 6b1624b8f..df7e36776 100644
--- a/ldso/ldso/m68k/dl-syscalls.h
+++ b/ldso/ldso/m68k/dl-syscalls.h
@@ -1,4 +1,3 @@
-#include <linux/types.h>
#include <asm/unistd.h>
/* Here are the macros which define how this platform makes
diff --git a/ldso/ldso/m68k/elfinterp.c b/ldso/ldso/m68k/elfinterp.c
index 9b73efd3f..b3bfeee1a 100644
--- a/ldso/ldso/m68k/elfinterp.c
+++ b/ldso/ldso/m68k/elfinterp.c
@@ -48,20 +48,12 @@ static char *_dl_reltypes[] =
a more than adequate job of explaining everything required to get this
working. */
-#include <linux/types.h>
-#include <linux/errno.h>
-#include <linux/unistd.h>
-/*#include <stdlib.h>*/
-#include "string.h"
-#include <linux/unistd.h>
-#include <linux/fcntl.h>
-#include <linux/elf.h>
-
+#include <sys/types.h>
+#include "elf.h"
#include "hash.h"
-#include "linuxelf.h"
+#include "syscall.h"
+#include "string.h"
#include "sysdep.h"
-#include "../syscall.h"
-#include "../string.h"
extern char *_dl_progname;
@@ -70,9 +62,9 @@ _dl_linux_resolver (int dummy1, int dummy2,
struct elf_resolve *tpnt, int reloc_entry)
{
int reloc_type;
- struct elf32_rela *this_reloc;
+ Elf32_Rela *this_reloc;
char *strtab;
- struct elf32_sym *symtab;
+ Elf32_Sym *symtab;
char *rel_addr;
int symtab_index;
char *new_addr;
@@ -80,11 +72,11 @@ _dl_linux_resolver (int dummy1, int dummy2,
unsigned int instr_addr;
rel_addr = tpnt->loadaddr + tpnt->dynamic_info[DT_JMPREL];
- this_reloc = (struct elf32_rela *) (rel_addr + reloc_entry);
+ this_reloc = (Elf32_Rela *) (rel_addr + reloc_entry);
reloc_type = ELF32_R_TYPE (this_reloc->r_info);
symtab_index = ELF32_R_SYM (this_reloc->r_info);
- symtab = (struct elf32_sym *) (tpnt->dynamic_info[DT_SYMTAB]
+ symtab = (Elf32_Sym *) (tpnt->dynamic_info[DT_SYMTAB]
+ tpnt->loadaddr);
strtab = (char *) (tpnt->dynamic_info[DT_STRTAB] + tpnt->loadaddr);
@@ -133,15 +125,15 @@ _dl_parse_lazy_relocation_information (struct elf_resolve *tpnt, int rel_addr,
char *strtab;
int reloc_type;
int symtab_index;
- struct elf32_sym *symtab;
- struct elf32_rela *rpnt;
+ Elf32_Sym *symtab;
+ Elf32_Rela *rpnt;
unsigned int *reloc_addr;
/* Now parse the relocation information. */
- rpnt = (struct elf32_rela *) (rel_addr + tpnt->loadaddr);
- rel_size = rel_size / sizeof (struct elf32_rela);
+ rpnt = (Elf32_Rela *) (rel_addr + tpnt->loadaddr);
+ rel_size = rel_size / sizeof (Elf32_Rela);
- symtab = (struct elf32_sym *) (tpnt->dynamic_info[DT_SYMTAB]
+ symtab = (Elf32_Sym *) (tpnt->dynamic_info[DT_SYMTAB]
+ tpnt->loadaddr);
strtab = (char *) (tpnt->dynamic_info[DT_STRTAB] + tpnt->loadaddr);
@@ -186,17 +178,17 @@ _dl_parse_relocation_information (struct elf_resolve *tpnt, int rel_addr,
char *strtab;
int reloc_type;
int goof = 0;
- struct elf32_sym *symtab;
- struct elf32_rela *rpnt;
+ Elf32_Sym *symtab;
+ Elf32_Rela *rpnt;
unsigned int *reloc_addr;
unsigned int symbol_addr;
int symtab_index;
/* Now parse the relocation information */
- rpnt = (struct elf32_rela *) (rel_addr + tpnt->loadaddr);
- rel_size = rel_size / sizeof (struct elf32_rela);
+ rpnt = (Elf32_Rela *) (rel_addr + tpnt->loadaddr);
+ rel_size = rel_size / sizeof (Elf32_Rela);
- symtab = (struct elf32_sym *) (tpnt->dynamic_info[DT_SYMTAB]
+ symtab = (Elf32_Sym *) (tpnt->dynamic_info[DT_SYMTAB]
+ tpnt->loadaddr);
strtab = (char *) (tpnt->dynamic_info[DT_STRTAB] + tpnt->loadaddr);
@@ -309,8 +301,8 @@ _dl_parse_copy_information (struct dyn_elf *xpnt, int rel_addr,
char *strtab;
int reloc_type;
int goof = 0;
- struct elf32_sym *symtab;
- struct elf32_rela *rpnt;
+ Elf32_Sym *symtab;
+ Elf32_Rela *rpnt;
unsigned int *reloc_addr;
unsigned int symbol_addr;
struct elf_resolve *tpnt;
@@ -319,10 +311,10 @@ _dl_parse_copy_information (struct dyn_elf *xpnt, int rel_addr,
tpnt = xpnt->dyn;
- rpnt = (struct elf32_rela *) (rel_addr + tpnt->loadaddr);
- rel_size = rel_size / sizeof (struct elf32_rela);
+ rpnt = (Elf32_Rela *) (rel_addr + tpnt->loadaddr);
+ rel_size = rel_size / sizeof (Elf32_Rela);
- symtab = (struct elf32_sym *) (tpnt->dynamic_info[DT_SYMTAB]
+ symtab = (Elf32_Sym *) (tpnt->dynamic_info[DT_SYMTAB]
+ tpnt->loadaddr);
strtab = (char *) (tpnt->dynamic_info[DT_STRTAB] + tpnt->loadaddr);
diff --git a/ldso/ldso/m68k/ld_syscalls.h b/ldso/ldso/m68k/ld_syscalls.h
index 6b1624b8f..df7e36776 100644
--- a/ldso/ldso/m68k/ld_syscalls.h
+++ b/ldso/ldso/m68k/ld_syscalls.h
@@ -1,4 +1,3 @@
-#include <linux/types.h>
#include <asm/unistd.h>
/* Here are the macros which define how this platform makes
diff --git a/ldso/ldso/m68k/syscalls.h b/ldso/ldso/m68k/syscalls.h
index 6b1624b8f..df7e36776 100644
--- a/ldso/ldso/m68k/syscalls.h
+++ b/ldso/ldso/m68k/syscalls.h
@@ -1,4 +1,3 @@
-#include <linux/types.h>
#include <asm/unistd.h>
/* Here are the macros which define how this platform makes