2013-02-06 Sandra Loosemore <sandra@codesourcery.com>
authorSandra Loosemore <sandra@codesourcery.com>
Wed, 6 Feb 2013 23:22:26 +0000 (23:22 +0000)
committerSandra Loosemore <sandra@codesourcery.com>
Wed, 6 Feb 2013 23:22:26 +0000 (23:22 +0000)
commit36591ba149edf6c6608d931a6d53bb99849fdc99
tree9ca2405118dd7414b90a8fffb09eb1d5023dfd96
parent574b0b3165dfa8ce1bdc2a41ae73148b6d8ea6be
2013-02-06  Sandra Loosemore  <sandra@codesourcery.com>
            Andrew Jenner <andrew@codesourcery.com>

Based on patches from Altera Corporation.

bfd/
* Makefile.am (ALL_MACHINES): Add cpu-nios2.lo.
(ALL_MACHINES_CFILES): Add cpu-nios2.c.
(BFD_BACKENDS): Add elf32-nios2.lo.
(BFD32_BACKENDS_CFILES): Add elf32-nios2.c.
* Makefile.in: Regenerated.
* configure.in: Add entries for bfd_elf32_bignios2_vec and
bfd_elf32_littlenios2_vec.
* configure: Regenerated.
* config.bfd: Add cases for nios2.
* archures.c (enum bfd_architecture): Add bfd_arch_nios2.
(bfd_mach_nios2): Define.
(bfd_nios2_arch): Declare.
(bfd_archures_list): Add bfd_nios2_arch.
* targets.c (bfd_elf32_bignios2_vec): Declare.
(bfd_elf32_littlenios2_vec): Declare.
(_bfd_target_vector): Add entries for bfd_elf32_bignios2_vec and
bfd_elf32_littlenios2_vec.
* elf-bfd.h (enum elf_target_id): Add NIOS2_ELF_DATA.
* reloc.c (enum bfd_reloc_code_real): Add Nios II relocations.
* bfd-in2.h: Regenerated.
* libbfd.h: Regenerated.
* cpu-nios2.c: New file.
* elf32-nios2.c: New file.

opcodes/
* Makefile.am (TARGET_LIBOPCODES_CFILES): Add nios2-dis.c and
nios2-opc.c.
* Makefile.in: Regenerated.
* configure.in: Add case for bfd_nios2_arch.
* configure: Regenerated.
* disassemble.c (ARCH_nios2): Define.
(disassembler): Add case for bfd_arch_nios2.
* nios2-dis.c: New file.
* nios2-opc.c: New file.

include/
* dis-asm.h (print_insn_big_nios2): Declare.
(print_insn_little_nios2): Declare.

include/elf
* nios2.h: New file.

include/opcode/
* nios2.h: New file.

gas/
* Makefile.am (TARGET_CPU_CFILES): Add config/tc-nios2.c.
(TARGET_CPU_HFILES): Add config/tc-nios2.h.
* Makefile.in: Regenerated.
* configure.tgt: Add case for nios2*-linux*.
* config/obj-elf.c: Conditionally include elf/nios2.h.
* config/tc-nios2.c: New file.
* config/tc-nios2.h: New file.
* doc/Makefile.am (CPU_DOCS): Add c-nios2.texi.
* doc/Makefile.in: Regenerated.
* doc/all.texi: Set NIOSII.
* doc/as.texinfo (Overview): Add Nios II options.
(Machine Dependencies): Include c-nios2.texi.
* doc/c-nios2.texi: New file.
* NEWS: Note Altera Nios II support.

gas/testsuite/
* gas/nios2/add.d: New.
* gas/nios2/add.s: New.
* gas/nios2/align_fill.d: New.
* gas/nios2/align_fill.s: New.
* gas/nios2/align_text.d: New.
* gas/nios2/align_text.s: New.
* gas/nios2/and.d: New.
* gas/nios2/and.s: New.
* gas/nios2/branch.d: New.
* gas/nios2/branch.s: New.
* gas/nios2/break.d: New.
* gas/nios2/break.s: New.
* gas/nios2/bret.d: New.
* gas/nios2/bret.s: New.
* gas/nios2/cache.d: New.
* gas/nios2/cache.s: New.
* gas/nios2/call26.d: New.
* gas/nios2/call26.s: New.
* gas/nios2/call.d: New.
* gas/nios2/call.s: New.
* gas/nios2/cmp.d: New.
* gas/nios2/cmp.s: New.
* gas/nios2/comments.d: New.
* gas/nios2/comments.s: New.
* gas/nios2/complex.d: New.
* gas/nios2/complex.s: New.
* gas/nios2/ctl.d: New.
* gas/nios2/ctl.s: New.
* gas/nios2/custom.d: New.
* gas/nios2/custom.s: New.
* gas/nios2/etbt.d: New.
* gas/nios2/etbt.s: New.
* gas/nios2/flushda.d: New.
* gas/nios2/flushda.s: New.
* gas/nios2/illegal.l: New.
* gas/nios2/illegal.s: New.
* gas/nios2/jmp.d: New.
* gas/nios2/jmp.s: New.
* gas/nios2/ldb.d: New.
* gas/nios2/ldb.s: New.
* gas/nios2/ldh.d: New.
* gas/nios2/ldh.s: New.
* gas/nios2/ldw.d: New.
* gas/nios2/ldw.s: New.
* gas/nios2/lineseparator.d: New.
* gas/nios2/lineseparator.s: New.
* gas/nios2/mov.d: New.
* gas/nios2/movia.d: New.
* gas/nios2/movia.s: New.
* gas/nios2/movi.d: New.
* gas/nios2/movi.s: New.
* gas/nios2/mov.s: New.
* gas/nios2/mul.d: New.
* gas/nios2/mul.s: New.
* gas/nios2/nios2.exp: New.
* gas/nios2/nor.d: New.
* gas/nios2/nor.s: New.
* gas/nios2/or.d: New.
* gas/nios2/or.s: New.
* gas/nios2/ret.d: New.
* gas/nios2/ret.s: New.
* gas/nios2/rol.d: New.
* gas/nios2/rol.s: New.
* gas/nios2/rotate.d: New.
* gas/nios2/rotate.s: New.
* gas/nios2/stb.d: New.
* gas/nios2/stb.s: New.
* gas/nios2/sth.d: New.
* gas/nios2/sth.s: New.
* gas/nios2/stw.d: New.
* gas/nios2/stw.s: New.
* gas/nios2/sub.d: New.
* gas/nios2/sub.s: New.
* gas/nios2/sync.d: New.
* gas/nios2/sync.s: New.
* gas/nios2/trap.d: New.
* gas/nios2/trap.s: New.
* gas/nios2/tret.d: New.
* gas/nios2/tret.s: New.
* gas/nios2/warn_noat.l: New.
* gas/nios2/warn_noat.s: New.
* gas/nios2/warn_nobreak.l: New.
* gas/nios2/warn_nobreak.s: New.
* gas/nios2/xor.d: New.
* gas/nios2/xor.s: New.

ld/
* Makefile.am (enios2elf.c): New rule.
* Makefile.in: Regenerated.
* configure.tgt: Add case for nios2*-*-*.
* emulparams/nios2elf.sh: New file.
* NEWS: Note Altera Nios II support.

ld/testsuite/
* ld-nios2/emit-relocs-1a.s: New.
* ld-nios2/emit-relocs-1b.s: New.
* ld-nios2/emit-relocs-1.d: New.
* ld-nios2/emit-relocs-1.ld: New.
* ld-nios2/gprel.d: New.
* ld-nios2/gprel.s: New.
* ld-nios2/hilo16.d: New.
* ld-nios2/hilo16.s: New.
* ld-nios2/hilo16_symbol.s: New.
* ld-nios2/imm5.d: New.
* ld-nios2/imm5.s: New.
* ld-nios2/imm5_symbol.s: New.
* ld-nios2/nios2.exp: New.
* ld-nios2/pcrel16.d: New.
* ld-nios2/pcrel16_label.s: New.
* ld-nios2/pcrel16.s: New.
* ld-nios2/relax_callr.d: New.
* ld-nios2/relax_callr.ld: New.
* ld-nios2/relax_callr.s: New.
* ld-nios2/relax_cjmp.d: New.
* ld-nios2/relax_cjmp.s: New.
* ld-nios2/relax_jmp.ld: New.
* ld-nios2/relax_section.d: New.
* ld-nios2/relax_section.s: New.
* ld-nios2/relax_ujmp.d: New.
* ld-nios2/relax_ujmp.s: New.
* ld-nios2/reloc.d: New.
* ld-nios2/reloc.s: New.
* ld-nios2/reloc_symbol.s: New.
* ld-nios2/s16.d: New.
* ld-nios2/s16.s: New.
* ld-nios2/s16_symbol.s: New.
* ld-nios2/u16.d: New.
* ld-nios2/u16.s: New.
* ld-nios2/u16_symbol.s: New.
* ld-elf/indirect.exp: Skip on targets that don't support
-shared -fPIC.
* ld-elfcomm/elfcomm.exp: Build with -G0 for nios2.
* ld-plugin/lto.exp: Skip shared library tests on targets that
don't support them.  Skip execution tests on non-native targets.

binutils/
* readelf.c: Include elf/nios2.h.
(dump_relocations): Add case for EM_ALTERA_NIOS2.
(get_nios2_dynamic_type): New.
(get_dynamic_type): Add case for EM_ALTERA_NIOS2.
(is_32bit_abs_reloc): Fix EM_ALTERA_NIOS2 case.
(is_16bit_abs_reloc): Likewise.
(is_none_reloc): Add EM_ALTERA_NIOS2 and EM_NIOS32 cases.
* NEWS: Note Altera Nios II support.
* MAINTAINERS: Add Nios II maintainers.
176 files changed:
bfd/ChangeLog
bfd/Makefile.am
bfd/Makefile.in
bfd/archures.c
bfd/bfd-in2.h
bfd/config.bfd
bfd/configure
bfd/configure.in
bfd/cpu-nios2.c [new file with mode: 0644]
bfd/elf-bfd.h
bfd/elf32-nios2.c [new file with mode: 0644]
bfd/libbfd.h
bfd/reloc.c
bfd/targets.c
binutils/ChangeLog
binutils/MAINTAINERS
binutils/NEWS
binutils/readelf.c
gas/ChangeLog
gas/Makefile.am
gas/Makefile.in
gas/NEWS
gas/config/obj-elf.c
gas/config/tc-nios2.c [new file with mode: 0644]
gas/config/tc-nios2.h [new file with mode: 0644]
gas/configure.tgt
gas/doc/Makefile.am
gas/doc/Makefile.in
gas/doc/all.texi
gas/doc/as.texinfo
gas/doc/c-nios2.texi [new file with mode: 0644]
gas/testsuite/ChangeLog
gas/testsuite/gas/nios2/add.d [new file with mode: 0644]
gas/testsuite/gas/nios2/add.s [new file with mode: 0644]
gas/testsuite/gas/nios2/align_fill.d [new file with mode: 0644]
gas/testsuite/gas/nios2/align_fill.s [new file with mode: 0644]
gas/testsuite/gas/nios2/align_text.d [new file with mode: 0644]
gas/testsuite/gas/nios2/align_text.s [new file with mode: 0644]
gas/testsuite/gas/nios2/and.d [new file with mode: 0644]
gas/testsuite/gas/nios2/and.s [new file with mode: 0644]
gas/testsuite/gas/nios2/branch.d [new file with mode: 0644]
gas/testsuite/gas/nios2/branch.s [new file with mode: 0644]
gas/testsuite/gas/nios2/break.d [new file with mode: 0644]
gas/testsuite/gas/nios2/break.s [new file with mode: 0644]
gas/testsuite/gas/nios2/bret.d [new file with mode: 0644]
gas/testsuite/gas/nios2/bret.s [new file with mode: 0644]
gas/testsuite/gas/nios2/cache.d [new file with mode: 0644]
gas/testsuite/gas/nios2/cache.s [new file with mode: 0644]
gas/testsuite/gas/nios2/call.d [new file with mode: 0644]
gas/testsuite/gas/nios2/call.s [new file with mode: 0644]
gas/testsuite/gas/nios2/call26.d [new file with mode: 0644]
gas/testsuite/gas/nios2/call26.s [new file with mode: 0644]
gas/testsuite/gas/nios2/cmp.d [new file with mode: 0644]
gas/testsuite/gas/nios2/cmp.s [new file with mode: 0644]
gas/testsuite/gas/nios2/comments.d [new file with mode: 0644]
gas/testsuite/gas/nios2/comments.s [new file with mode: 0644]
gas/testsuite/gas/nios2/complex.d [new file with mode: 0644]
gas/testsuite/gas/nios2/complex.s [new file with mode: 0644]
gas/testsuite/gas/nios2/ctl.d [new file with mode: 0644]
gas/testsuite/gas/nios2/ctl.s [new file with mode: 0644]
gas/testsuite/gas/nios2/custom.d [new file with mode: 0644]
gas/testsuite/gas/nios2/custom.s [new file with mode: 0644]
gas/testsuite/gas/nios2/etbt.d [new file with mode: 0644]
gas/testsuite/gas/nios2/etbt.s [new file with mode: 0644]
gas/testsuite/gas/nios2/flushda.d [new file with mode: 0644]
gas/testsuite/gas/nios2/flushda.s [new file with mode: 0644]
gas/testsuite/gas/nios2/illegal.l [new file with mode: 0644]
gas/testsuite/gas/nios2/illegal.s [new file with mode: 0644]
gas/testsuite/gas/nios2/jmp.d [new file with mode: 0644]
gas/testsuite/gas/nios2/jmp.s [new file with mode: 0644]
gas/testsuite/gas/nios2/ldb.d [new file with mode: 0644]
gas/testsuite/gas/nios2/ldb.s [new file with mode: 0644]
gas/testsuite/gas/nios2/ldh.d [new file with mode: 0644]
gas/testsuite/gas/nios2/ldh.s [new file with mode: 0644]
gas/testsuite/gas/nios2/ldw.d [new file with mode: 0644]
gas/testsuite/gas/nios2/ldw.s [new file with mode: 0644]
gas/testsuite/gas/nios2/lineseparator.d [new file with mode: 0644]
gas/testsuite/gas/nios2/lineseparator.s [new file with mode: 0644]
gas/testsuite/gas/nios2/mov.d [new file with mode: 0644]
gas/testsuite/gas/nios2/mov.s [new file with mode: 0644]
gas/testsuite/gas/nios2/movi.d [new file with mode: 0644]
gas/testsuite/gas/nios2/movi.s [new file with mode: 0644]
gas/testsuite/gas/nios2/movia.d [new file with mode: 0644]
gas/testsuite/gas/nios2/movia.s [new file with mode: 0644]
gas/testsuite/gas/nios2/mul.d [new file with mode: 0644]
gas/testsuite/gas/nios2/mul.s [new file with mode: 0644]
gas/testsuite/gas/nios2/nios2.exp [new file with mode: 0644]
gas/testsuite/gas/nios2/nor.d [new file with mode: 0644]
gas/testsuite/gas/nios2/nor.s [new file with mode: 0644]
gas/testsuite/gas/nios2/or.d [new file with mode: 0644]
gas/testsuite/gas/nios2/or.s [new file with mode: 0644]
gas/testsuite/gas/nios2/ret.d [new file with mode: 0644]
gas/testsuite/gas/nios2/ret.s [new file with mode: 0644]
gas/testsuite/gas/nios2/rol.d [new file with mode: 0644]
gas/testsuite/gas/nios2/rol.s [new file with mode: 0644]
gas/testsuite/gas/nios2/rotate.d [new file with mode: 0644]
gas/testsuite/gas/nios2/rotate.s [new file with mode: 0644]
gas/testsuite/gas/nios2/stb.d [new file with mode: 0644]
gas/testsuite/gas/nios2/stb.s [new file with mode: 0644]
gas/testsuite/gas/nios2/sth.d [new file with mode: 0644]
gas/testsuite/gas/nios2/sth.s [new file with mode: 0644]
gas/testsuite/gas/nios2/stw.d [new file with mode: 0644]
gas/testsuite/gas/nios2/stw.s [new file with mode: 0644]
gas/testsuite/gas/nios2/sub.d [new file with mode: 0644]
gas/testsuite/gas/nios2/sub.s [new file with mode: 0644]
gas/testsuite/gas/nios2/sync.d [new file with mode: 0644]
gas/testsuite/gas/nios2/sync.s [new file with mode: 0644]
gas/testsuite/gas/nios2/trap.d [new file with mode: 0644]
gas/testsuite/gas/nios2/trap.s [new file with mode: 0644]
gas/testsuite/gas/nios2/tret.d [new file with mode: 0644]
gas/testsuite/gas/nios2/tret.s [new file with mode: 0644]
gas/testsuite/gas/nios2/warn_noat.l [new file with mode: 0644]
gas/testsuite/gas/nios2/warn_noat.s [new file with mode: 0644]
gas/testsuite/gas/nios2/warn_nobreak.l [new file with mode: 0644]
gas/testsuite/gas/nios2/warn_nobreak.s [new file with mode: 0644]
gas/testsuite/gas/nios2/xor.d [new file with mode: 0644]
gas/testsuite/gas/nios2/xor.s [new file with mode: 0644]
include/ChangeLog
include/dis-asm.h
include/elf/ChangeLog
include/elf/nios2.h [new file with mode: 0644]
include/opcode/ChangeLog
include/opcode/nios2.h [new file with mode: 0644]
ld/ChangeLog
ld/Makefile.am
ld/Makefile.in
ld/NEWS
ld/configure.tgt
ld/emulparams/nios2elf.sh [new file with mode: 0644]
ld/testsuite/ChangeLog
ld/testsuite/ld-elf/indirect.exp
ld/testsuite/ld-elfcomm/elfcomm.exp
ld/testsuite/ld-nios2/emit-relocs-1.d [new file with mode: 0644]
ld/testsuite/ld-nios2/emit-relocs-1.ld [new file with mode: 0644]
ld/testsuite/ld-nios2/emit-relocs-1a.s [new file with mode: 0644]
ld/testsuite/ld-nios2/emit-relocs-1b.s [new file with mode: 0644]
ld/testsuite/ld-nios2/gprel.d [new file with mode: 0644]
ld/testsuite/ld-nios2/gprel.s [new file with mode: 0644]
ld/testsuite/ld-nios2/hilo16.d [new file with mode: 0644]
ld/testsuite/ld-nios2/hilo16.s [new file with mode: 0644]
ld/testsuite/ld-nios2/hilo16_symbol.s [new file with mode: 0644]
ld/testsuite/ld-nios2/imm5.d [new file with mode: 0644]
ld/testsuite/ld-nios2/imm5.s [new file with mode: 0644]
ld/testsuite/ld-nios2/imm5_symbol.s [new file with mode: 0644]
ld/testsuite/ld-nios2/nios2.exp [new file with mode: 0644]
ld/testsuite/ld-nios2/pcrel16.d [new file with mode: 0644]
ld/testsuite/ld-nios2/pcrel16.s [new file with mode: 0644]
ld/testsuite/ld-nios2/pcrel16_label.s [new file with mode: 0644]
ld/testsuite/ld-nios2/relax_callr.d [new file with mode: 0644]
ld/testsuite/ld-nios2/relax_callr.ld [new file with mode: 0644]
ld/testsuite/ld-nios2/relax_callr.s [new file with mode: 0644]
ld/testsuite/ld-nios2/relax_cjmp.d [new file with mode: 0644]
ld/testsuite/ld-nios2/relax_cjmp.s [new file with mode: 0644]
ld/testsuite/ld-nios2/relax_jmp.ld [new file with mode: 0644]
ld/testsuite/ld-nios2/relax_section.d [new file with mode: 0644]
ld/testsuite/ld-nios2/relax_section.s [new file with mode: 0644]
ld/testsuite/ld-nios2/relax_ujmp.d [new file with mode: 0644]
ld/testsuite/ld-nios2/relax_ujmp.s [new file with mode: 0644]
ld/testsuite/ld-nios2/reloc.d [new file with mode: 0644]
ld/testsuite/ld-nios2/reloc.s [new file with mode: 0644]
ld/testsuite/ld-nios2/reloc_symbol.s [new file with mode: 0644]
ld/testsuite/ld-nios2/s16.d [new file with mode: 0644]
ld/testsuite/ld-nios2/s16.s [new file with mode: 0644]
ld/testsuite/ld-nios2/s16_symbol.s [new file with mode: 0644]
ld/testsuite/ld-nios2/u16.d [new file with mode: 0644]
ld/testsuite/ld-nios2/u16.s [new file with mode: 0644]
ld/testsuite/ld-nios2/u16_symbol.s [new file with mode: 0644]
ld/testsuite/ld-plugin/lto.exp
opcodes/ChangeLog
opcodes/Makefile.am
opcodes/Makefile.in
opcodes/configure
opcodes/configure.in
opcodes/disassemble.c
opcodes/nios2-dis.c [new file with mode: 0644]
opcodes/nios2-opc.c [new file with mode: 0644]