aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf.c
diff options
context:
space:
mode:
authorJoern Rennecke <joern.rennecke@embecosm.com>2001-08-29 01:33:52 +0000
committerJoern Rennecke <joern.rennecke@embecosm.com>2001-08-29 01:33:52 +0000
commite01b0e698158c1fae4be62ca44afcb27b0a2dcd2 (patch)
tree5f7031d378d3a3855d8641d61530156861831459 /bfd/elf.c
parente87593493c718263a9874991fd6292e8828beeb8 (diff)
downloadgdb-e01b0e698158c1fae4be62ca44afcb27b0a2dcd2.zip
gdb-e01b0e698158c1fae4be62ca44afcb27b0a2dcd2.tar.gz
gdb-e01b0e698158c1fae4be62ca44afcb27b0a2dcd2.tar.bz2
* Makefile.am (elf32-h8300.lo): New target.
* config.bfd (h8300*-*-elf): New case. * configure.in (bfd_elf32_h8300_vec): New case. * elf.c (prep_headers): Add case for bfd_arch_h8300. * reloc.c (BFD_RELOC_H8_DIR16A8): New relocation. (BFD_RELOC_H8_DIR16R8, BFD_RELOC_H8_DIR24A8): Likewise. (BFD_RELOC_H8_DIR24R8, BFD_RELOC_H8_DIR32A16): Likewise. * targets.c (bfd_target bfd_elf32_h8300_vec): New extern declaration. * elf32-h8300.c: New file. * Makefile.in, bfd-in2.h, libbfd.h, configure: Regenerated.
Diffstat (limited to 'bfd/elf.c')
-rw-r--r--bfd/elf.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/bfd/elf.c b/bfd/elf.c
index 4e6d6ef..f03e3a1 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -3451,6 +3451,24 @@ prep_headers (abfd)
i_ehdrp->e_machine = EM_OPENRISC;
break;
/* Also note that EM_M32, AT&T WE32100 is unknown to bfd. */
+ case bfd_arch_h8300:
+ switch (bfd_get_mach (abfd))
+ {
+ default:
+ case bfd_mach_h8300:
+ i_ehdrp->e_machine = EM_H8_300;
+ break;
+ case bfd_mach_h8300h:
+ i_ehdrp->e_machine = EM_H8_300H;
+ break;
+ case bfd_mach_h8300s:
+ i_ehdrp->e_machine = EM_H8S;
+ break;
+ }
+ break;
+ case bfd_arch_h8500:
+ i_ehdrp->e_machine = EM_H8_500;
+ break;
default:
i_ehdrp->e_machine = EM_NONE;
}