summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/config/tc-hppa.c10
-rw-r--r--gas/config/tc-hppa.h5
2 files changed, 11 insertions, 4 deletions
diff --git a/gas/config/tc-hppa.c b/gas/config/tc-hppa.c
index 61083d462df..8307e206f87 100644
--- a/gas/config/tc-hppa.c
+++ b/gas/config/tc-hppa.c
@@ -43,13 +43,17 @@ error only one of OBJ_ELF and OBJ_SOM can be defined
not need to be seen outside of tc-hppa.c. */
#ifdef OBJ_ELF
/* Object file formats specify relocation types. */
-typedef elf32_hppa_reloc_type reloc_type;
+typedef elf_hppa_reloc_type reloc_type;
/* Object file formats specify BFD symbol types. */
typedef elf_symbol_type obj_symbol_type;
+#ifdef BFD64
/* How to generate a relocation. */
-#define hppa_gen_reloc_type hppa_elf_gen_reloc_type
+#define hppa_gen_reloc_type _bfd_elf64_hppa_gen_reloc_type
+#else
+#define hppa_gen_reloc_type _bfd_elf32_hppa_gen_reloc_type
+#endif
/* ELF objects can have versions, but apparently do not have anywhere
to store a copyright string. */
@@ -2778,7 +2782,6 @@ tc_gen_reloc (section, fixp)
relocs[n_relocs] = NULL;
#ifdef OBJ_ELF
-#if 0
switch (fixp->fx_r_type)
{
default:
@@ -2830,7 +2833,6 @@ tc_gen_reloc (section, fixp)
}
break;
}
-#endif
#else /* OBJ_SOM */
/* Walk over reach relocation returned by the BFD backend. */
diff --git a/gas/config/tc-hppa.h b/gas/config/tc-hppa.h
index 764275ac587..139daed20fb 100644
--- a/gas/config/tc-hppa.h
+++ b/gas/config/tc-hppa.h
@@ -49,9 +49,14 @@
/* FIXME. The lack of a place to put things which are both target cpu
and target format dependent makes hacks like this necessary. */
#ifdef OBJ_ELF
+#ifdef BFD64
+#include "bfd/elf64-hppa.h"
+#define TARGET_FORMAT "elf64-hppa"
+#else
#include "bfd/elf32-hppa.h"
#define TARGET_FORMAT "elf32-hppa"
#endif
+#endif
#ifdef OBJ_SOM
#include "bfd/som.h"