Add support for the GBZ80 and Z80N variants of the Z80 architecture, and add DWARF...
authorSergey Belyashov <sergey.belyashov@gmail.com>
Fri, 7 Feb 2020 14:53:46 +0000 (14:53 +0000)
committerNick Clifton <nickc@redhat.com>
Fri, 7 Feb 2020 14:53:46 +0000 (14:53 +0000)
commit9fc0b501af78bc4a92f53ec712e1aaa123e0224c
treef3ef7a39227828252a1878f1a526b3df19ec7c65
parentadb8754e48d53b219ddaa9e8368e4b1acb9db53a
Add support for the GBZ80 and Z80N variants of the Z80 architecture, and add DWARF debug info support to the Z80 assembler.

PR 25469
bfd * archures.c: Add GBZ80 and Z80N machine values.
* reloc.c: Add BFD_RELOC_Z80_16_BE.
* coff-z80.c: Add support for new reloc.
* coffcode.h: Add support for new machine values.
* cpu-z80.c: Add support for new machine names.
* elf32-z80.c: Add support for new reloc.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.

binutils* readelf.c (get_machine_flags): Add support for Z80N machine
number.

gas * config/tc-z80.c: Add -gbz80 command line option to generate code
for the GameBoy Z80.  Add support for generating DWARF.
* config/tc-z80.h: Add support for DWARF debug information
generation.
* doc/c-z80.texi: Document new command line option.
* testsuite/gas/z80/gbz80_all.d: New file.
* testsuite/gas/z80/gbz80_all.s: New file.
* testsuite/gas/z80/z80.exp: Run the new tests.
* testsuite/gas/z80/z80n_all.d: New file.
* testsuite/gas/z80/z80n_all.s: New file.
* testsuite/gas/z80/z80n_reloc.d: New file.

include * coff/internal.h (R_IMM16BE): Define.
* elf/z80.h (EF_Z80_MACH_Z80N): Define.
(R_Z80_16_BE): New reloc.

ld * emulparams/elf32z80.sh: Use z80 emulation.
* emultempl/z80.em: Make generic to both COFF and ELF Z80 emulations.
* emultempl/z80elf.em: Delete.
* testsuite/ld-elf/pr22450.d: Expect to fail for the Z80.
* testsuite/ld-elf/sec64k.exp: Fix Z80 assembly.
* testsuite/ld-unique/pr21529.s: Avoid register name conflict.
* testsuite/ld-unique/unique.s: Likewise.
* testsuite/ld-unique/unique_empty.s: Likewise.
* testsuite/ld-unique/unique_shared.s: Likewise.
* testsuite/ld-unique/unique.d: Updated expected output.
* testsuite/ld-z80/arch_z80n.d: New file.
* testsuite/ld-z80/comb_arch_z80_z80n.d: New file.
* testsuite/ld-z80/labels.s: Add more labels.
* testsuite/ld-z80/relocs.s: Add more reloc tests.
* testsuite/ld-z80/relocs_f_z80n.d: New file

opcodes * z80-dis.c: Add support for GBZ80 opcodes.
42 files changed:
bfd/ChangeLog
bfd/archures.c
bfd/bfd-in2.h
bfd/coff-z80.c
bfd/coffcode.h
bfd/cpu-z80.c
bfd/elf32-z80.c
bfd/libbfd.h
bfd/reloc.c
binutils/ChangeLog
binutils/readelf.c
gas/ChangeLog
gas/config/tc-z80.c
gas/config/tc-z80.h
gas/doc/c-z80.texi
gas/testsuite/gas/z80/gbz80_all.d [new file with mode: 0644]
gas/testsuite/gas/z80/gbz80_all.s [new file with mode: 0644]
gas/testsuite/gas/z80/z80.exp
gas/testsuite/gas/z80/z80n_all.d [new file with mode: 0644]
gas/testsuite/gas/z80/z80n_all.s [new file with mode: 0644]
gas/testsuite/gas/z80/z80n_reloc.d [new file with mode: 0644]
include/ChangeLog
include/coff/internal.h
include/elf/z80.h
ld/ChangeLog
ld/emulparams/elf32z80.sh
ld/emultempl/z80.em
ld/emultempl/z80elf.em [deleted file]
ld/testsuite/ld-elf/pr22450.d
ld/testsuite/ld-elf/sec64k.exp
ld/testsuite/ld-unique/pr21529.s
ld/testsuite/ld-unique/unique.d
ld/testsuite/ld-unique/unique.s
ld/testsuite/ld-unique/unique_empty.s
ld/testsuite/ld-unique/unique_shared.s
ld/testsuite/ld-z80/arch_z80n.d [new file with mode: 0644]
ld/testsuite/ld-z80/comb_arch_z80_z80n.d [new file with mode: 0644]
ld/testsuite/ld-z80/labels.s
ld/testsuite/ld-z80/relocs.s
ld/testsuite/ld-z80/relocs_f_z80n.d [new file with mode: 0644]
opcodes/ChangeLog
opcodes/z80-dis.c