Add support for the GBZ80, Z180, and eZ80 variants of the Z80 architecure. Add an...
authorSergey Belyashov <sergey.belyashov@gmail.com>
Thu, 2 Jan 2020 14:10:40 +0000 (14:10 +0000)
committerNick Clifton <nickc@redhat.com>
Thu, 2 Jan 2020 14:14:59 +0000 (14:14 +0000)
commit6655dba246bd164d953fe220a0e3d4eed85bb268
tree423258b5dadb447dc649e71c6ce48aaeed8ba385
parent0db131fb835e4c4f6a024e86743467e7e01c965e
Add support for the GBZ80, Z180, and eZ80 variants of the Z80 architecure.  Add an ELF based target for these as well.

PR 25224
bfd * Makefile.am: Add z80-elf target support.
* configure.ac: Likewise.
* targets.c: Likewise.
* config.bfd: Add z80-elf target support and new arches: ez80 and z180.
* elf32-z80.c: New file.
* archures.c: Add new z80 architectures: eZ80 and Z180.
* coffcode.h: Likewise.
* cpu-z80.c: Likewise.
* bfd-in2.h: Likewise plus additional Z80 relocations.
* coff-z80.c: Add new relocations for Z80 target and local label check.

gas * config/tc-z80.c: Add new architectures: Z180 and eZ80. Add support
for assembler code generated by SDCC. Add new relocation types. Add
z80-elf target support.
* config/tc-z80.h: Add z80-elf target support. Enable dollar local
labels. Local labels starts from ".L".
* testsuite/gas/all/fwdexp.d: Fix failure due to symbol conflict.
* testsuite/gas/all/fwdexp.s: Likewise.
* testsuite/gas/z80/suffix.d: Fix failure on ELF target.
* testsuite/gas/z80/z80.exp: Add new tests
* testsuite/gas/z80/dollar.d: New file.
* testsuite/gas/z80/dollar.s: New file.
* testsuite/gas/z80/ez80_adl_all.d: New file.
* testsuite/gas/z80/ez80_adl_all.s: New file.
* testsuite/gas/z80/ez80_adl_suf.d: New file.
* testsuite/gas/z80/ez80_isuf.s: New file.
* testsuite/gas/z80/ez80_z80_all.d: New file.
* testsuite/gas/z80/ez80_z80_all.s: New file.
* testsuite/gas/z80/ez80_z80_suf.d: New file.
* testsuite/gas/z80/r800_extra.d: New file.
* testsuite/gas/z80/r800_extra.s: New file.
* testsuite/gas/z80/r800_ii8.d: New file.
* testsuite/gas/z80/r800_z80_doc.d: New file.
* testsuite/gas/z80/z180.d: New file.
* testsuite/gas/z80/z180.s: New file.
* testsuite/gas/z80/z180_z80_doc.d: New file.
* testsuite/gas/z80/z80_doc.d: New file.
* testsuite/gas/z80/z80_doc.s: New file.
* testsuite/gas/z80/z80_ii8.d: New file.
* testsuite/gas/z80/z80_ii8.s: New file.
* testsuite/gas/z80/z80_in_f_c.d: New file.
* testsuite/gas/z80/z80_in_f_c.s: New file.
* testsuite/gas/z80/z80_op_ii_ld.d: New file.
* testsuite/gas/z80/z80_op_ii_ld.s: New file.
* testsuite/gas/z80/z80_out_c_0.d: New file.
* testsuite/gas/z80/z80_out_c_0.s: New file.
* testsuite/gas/z80/z80_reloc.d: New file.
* testsuite/gas/z80/z80_reloc.s: New file.
* testsuite/gas/z80/z80_sli.d: New file.
* testsuite/gas/z80/z80_sli.s: New file.

ld * Makefile.am: Add new target z80-elf
* configure.tgt: Likewise.
* emultempl/z80.em: Add support for eZ80 and Z180 architectures.
* emulparams/elf32z80.sh: New file.
* emultempl/z80elf.em: Likewise.
* testsuite/ld-z80/arch_ez80_adl.d: Likewise.
* testsuite/ld-z80/arch_ez80_z80.d: Likewise.
* testsuite/ld-z80/arch_r800.d: Likewise.
* testsuite/ld-z80/arch_z180.d: Likewise.
* testsuite/ld-z80/arch_z80.d: Likewise.
* testsuite/ld-z80/comb_arch_ez80_z80.d: Likewise.
* testsuite/ld-z80/comb_arch_z180.d: Likewise.
* testsuite/ld-z80/labels.s: Likewise.
* testsuite/ld-z80/relocs.s: Likewise.
* testsuite/ld-z80/relocs_b_ez80.d: Likewise.
* testsuite/ld-z80/relocs_b_z80.d: Likewise.
* testsuite/ld-z80/relocs_f_z80.d: Likewise.
* testsuite/ld-z80/z80.exp: Likewise.

opcodes * z80-dis.c: Add support for eZ80 and Z80 instructions.
132 files changed:
bfd/ChangeLog
bfd/Makefile.am
bfd/Makefile.in
bfd/archures.c
bfd/bfd-in2.h
bfd/coff-z80.c
bfd/coffcode.h
bfd/config.bfd
bfd/configure
bfd/configure.ac
bfd/cpu-z80.c
bfd/elf32-z80.c [new file with mode: 0644]
bfd/libbfd.h
bfd/po/SRC-POTFILES.in
bfd/po/bfd.pot
bfd/reloc.c
bfd/targets.c
binutils/ChangeLog
binutils/po/binutils.pot
binutils/readelf.c
gas/ChangeLog
gas/NEWS
gas/config/tc-z80.c
gas/config/tc-z80.h
gas/doc/as.texi
gas/doc/c-z80.texi
gas/po/gas.pot
gas/testsuite/gas/all/cond.l
gas/testsuite/gas/all/cond.s
gas/testsuite/gas/all/fwdexp.d
gas/testsuite/gas/all/fwdexp.s
gas/testsuite/gas/elf/section2.e-mips
gas/testsuite/gas/elf/section2.l
gas/testsuite/gas/elf/section2.s
gas/testsuite/gas/macros/app1.d
gas/testsuite/gas/macros/app1.s
gas/testsuite/gas/macros/app2.d
gas/testsuite/gas/macros/app2.s
gas/testsuite/gas/macros/app3.d
gas/testsuite/gas/macros/app3.s
gas/testsuite/gas/macros/app4.d
gas/testsuite/gas/macros/app4.s
gas/testsuite/gas/macros/app4b.s
gas/testsuite/gas/z80/colonless.d [new file with mode: 0644]
gas/testsuite/gas/z80/colonless.s [new file with mode: 0644]
gas/testsuite/gas/z80/data.d [new file with mode: 0644]
gas/testsuite/gas/z80/data.s [new file with mode: 0644]
gas/testsuite/gas/z80/dollar.d [new file with mode: 0644]
gas/testsuite/gas/z80/dollar.s [new file with mode: 0644]
gas/testsuite/gas/z80/ez80_adl_all.d [new file with mode: 0644]
gas/testsuite/gas/z80/ez80_adl_all.s [new file with mode: 0644]
gas/testsuite/gas/z80/ez80_adl_suf.d [new file with mode: 0644]
gas/testsuite/gas/z80/ez80_isuf.s [new file with mode: 0644]
gas/testsuite/gas/z80/ez80_z80_all.d [new file with mode: 0644]
gas/testsuite/gas/z80/ez80_z80_all.s [new file with mode: 0644]
gas/testsuite/gas/z80/ez80_z80_suf.d [new file with mode: 0644]
gas/testsuite/gas/z80/fp_math48.d [new file with mode: 0644]
gas/testsuite/gas/z80/fp_math48.s [new file with mode: 0644]
gas/testsuite/gas/z80/fp_zeda32.d [new file with mode: 0644]
gas/testsuite/gas/z80/fp_zeda32.s [new file with mode: 0644]
gas/testsuite/gas/z80/r800_extra.d [new file with mode: 0644]
gas/testsuite/gas/z80/r800_extra.s [new file with mode: 0644]
gas/testsuite/gas/z80/r800_ii8.d [new file with mode: 0644]
gas/testsuite/gas/z80/r800_z80_doc.d [new file with mode: 0644]
gas/testsuite/gas/z80/sdcc.d [new file with mode: 0644]
gas/testsuite/gas/z80/sdcc.s [new file with mode: 0644]
gas/testsuite/gas/z80/set.d [new file with mode: 0644]
gas/testsuite/gas/z80/set.s [new file with mode: 0644]
gas/testsuite/gas/z80/strings.d [new file with mode: 0644]
gas/testsuite/gas/z80/strings.s [new file with mode: 0644]
gas/testsuite/gas/z80/suffix.d
gas/testsuite/gas/z80/z180.d [new file with mode: 0644]
gas/testsuite/gas/z80/z180.s [new file with mode: 0644]
gas/testsuite/gas/z80/z180_z80_doc.d [new file with mode: 0644]
gas/testsuite/gas/z80/z80.exp
gas/testsuite/gas/z80/z80_doc.d [new file with mode: 0644]
gas/testsuite/gas/z80/z80_doc.s [new file with mode: 0644]
gas/testsuite/gas/z80/z80_ii8.d [new file with mode: 0644]
gas/testsuite/gas/z80/z80_ii8.s [new file with mode: 0644]
gas/testsuite/gas/z80/z80_in_f_c.d [new file with mode: 0644]
gas/testsuite/gas/z80/z80_in_f_c.s [new file with mode: 0644]
gas/testsuite/gas/z80/z80_op_ii_ld.d [new file with mode: 0644]
gas/testsuite/gas/z80/z80_op_ii_ld.s [new file with mode: 0644]
gas/testsuite/gas/z80/z80_out_c_0.d [new file with mode: 0644]
gas/testsuite/gas/z80/z80_out_c_0.s [new file with mode: 0644]
gas/testsuite/gas/z80/z80_reloc.d [new file with mode: 0644]
gas/testsuite/gas/z80/z80_reloc.s [new file with mode: 0644]
gas/testsuite/gas/z80/z80_sli.d [new file with mode: 0644]
gas/testsuite/gas/z80/z80_sli.s [new file with mode: 0644]
gprof/po/gprof.pot
include/ChangeLog
include/coff/internal.h
include/elf/z80.h [new file with mode: 0644]
ld/ChangeLog
ld/Makefile.am
ld/Makefile.in
ld/NEWS
ld/configure.tgt
ld/emulparams/elf32z80.sh [new file with mode: 0644]
ld/emultempl/z80.em
ld/emultempl/z80elf.em [new file with mode: 0644]
ld/po/BLD-POTFILES.in
ld/po/ld.pot
ld/scripttempl/z80.sc
ld/testsuite/ld-elf/comm-data4.s
ld/testsuite/ld-elf/comm-data5.s
ld/testsuite/ld-scripts/fill16.d
ld/testsuite/ld-z80/arch_default.d [new file with mode: 0644]
ld/testsuite/ld-z80/arch_ez80_adl.d [new file with mode: 0644]
ld/testsuite/ld-z80/arch_ez80_z80.d [new file with mode: 0644]
ld/testsuite/ld-z80/arch_r800.d [new file with mode: 0644]
ld/testsuite/ld-z80/arch_z180.d [new file with mode: 0644]
ld/testsuite/ld-z80/arch_z80.d [new file with mode: 0644]
ld/testsuite/ld-z80/comb_arch_ez80_z80.d [new file with mode: 0644]
ld/testsuite/ld-z80/comb_arch_z180_z80.d [new file with mode: 0644]
ld/testsuite/ld-z80/comb_arch_z80_ez80.d [new file with mode: 0644]
ld/testsuite/ld-z80/comb_arch_z80_z180.d [new file with mode: 0644]
ld/testsuite/ld-z80/dummy1.s [new file with mode: 0644]
ld/testsuite/ld-z80/dummy2.s [new file with mode: 0644]
ld/testsuite/ld-z80/jr.s [new file with mode: 0644]
ld/testsuite/ld-z80/jr_b.d [new file with mode: 0644]
ld/testsuite/ld-z80/jr_f.d [new file with mode: 0644]
ld/testsuite/ld-z80/labels.s [new file with mode: 0644]
ld/testsuite/ld-z80/relocs.s [new file with mode: 0644]
ld/testsuite/ld-z80/relocs_b_ez80.d [new file with mode: 0644]
ld/testsuite/ld-z80/relocs_b_z80.d [new file with mode: 0644]
ld/testsuite/ld-z80/relocs_f_ez80.d [new file with mode: 0644]
ld/testsuite/ld-z80/relocs_f_z80.d [new file with mode: 0644]
ld/testsuite/ld-z80/z80.exp [new file with mode: 0644]
opcodes/ChangeLog
opcodes/po/opcodes.pot
opcodes/z80-dis.c