summaryrefslogtreecommitdiff
path: root/ldso/ldso/m68k
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2003-12-17 08:05:44 +0000
committerEric Andersen <andersen@codepoet.org>2003-12-17 08:05:44 +0000
commit0a0a648ed65342e7bb71608894c308bfb6143a4d (patch)
tree5b9bb5746fdf2c4384c3bf57dd3ca3bb6ce804c8 /ldso/ldso/m68k
parente2ec80efb27158e6a367238227ddca876054ae9e (diff)
Patch from Paul Mundt <lethal@linux-sh.org>:
For sh64 we need implicit access to the symtab, primarily to get at the ->st_other value. This presently isn't possible, as PERFORM_BOOTSTRAP_RELOC() is invoked as such: PERFORM_BOOTSTRAP_RELOC(rpnt, reloc_addr, symbol_addr, load_addr); while we can easily get the symtab_index value from rpnt->r_info, this still doesn't buy us easy access to the actual table. As such, I've modified PERFORM_BOOTSTRAP_RELOC() to take an additional SYMTAB argument. Most architectures aren't going to care about this, but unfortunately we don't have any other options for sh64. The following patch fixes up the API for what we need for sh64, and updates the other architectures appropriately.
Diffstat (limited to 'ldso/ldso/m68k')
-rw-r--r--ldso/ldso/m68k/dl-sysdep.h2
-rw-r--r--ldso/ldso/m68k/ld_sysdep.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/ldso/ldso/m68k/dl-sysdep.h b/ldso/ldso/m68k/dl-sysdep.h
index 2a8dcca5f..2cbc7d46b 100644
--- a/ldso/ldso/m68k/dl-sysdep.h
+++ b/ldso/ldso/m68k/dl-sysdep.h
@@ -22,7 +22,7 @@
are performing, REL is the pointer to the address we are
relocating. SYMBOL is the symbol involved in the relocation, and
LOAD is the load address. */
-#define PERFORM_BOOTSTRAP_RELOC(RELP,REL,SYMBOL,LOAD) \
+#define PERFORM_BOOTSTRAP_RELOC(RELP,REL,SYMBOL,LOAD,SYMTAB) \
switch (ELF32_R_TYPE ((RELP)->r_info)) \
{ \
case R_68K_8: \
diff --git a/ldso/ldso/m68k/ld_sysdep.h b/ldso/ldso/m68k/ld_sysdep.h
index 2a8dcca5f..2cbc7d46b 100644
--- a/ldso/ldso/m68k/ld_sysdep.h
+++ b/ldso/ldso/m68k/ld_sysdep.h
@@ -22,7 +22,7 @@
are performing, REL is the pointer to the address we are
relocating. SYMBOL is the symbol involved in the relocation, and
LOAD is the load address. */
-#define PERFORM_BOOTSTRAP_RELOC(RELP,REL,SYMBOL,LOAD) \
+#define PERFORM_BOOTSTRAP_RELOC(RELP,REL,SYMBOL,LOAD,SYMTAB) \
switch (ELF32_R_TYPE ((RELP)->r_info)) \
{ \
case R_68K_8: \