binutils-gdb/ld/testsuite/ld-csky/emit-relocs-1.d

38 lines
1.2 KiB
D
Raw Normal View History

Add support for the C_SKY series of processors. This patch series is a new binutils port for C-SKY processors, including support for both the V1 and V2 processor variants. V1 is derived from the MCore architecture while V2 is substantially different, with mixed 16- and 32-bit instructions, a larger register set, a different (but overlapping) ABI, etc. There is support for bare-metal ELF targets and Linux with both glibc and uClibc. This code is being contributed jointly by C-SKY Microsystems and Mentor Graphics. C-SKY is responsible for the technical content and has proposed Lifang Xia and Yunhai Shang as port maintainers. (Note that C-SKY does have a corporate copyright assignment on file with the FSF.) Mentor Graphics' role has been cleaning up the code, adding documentation and additional test cases, etc, to address issues we anticipated reviewers would complain about. bfd * Makefile.am (ALL_MACHINES, ALL_MACHINES_CFILES): Add C-SKY. (BFD32_BACKENDS, BFD_BACKENDS_CFILES): Likewise. * Makefile.in: Regenerated. * archures.c (enum bfd_architecture): Add bfd_arch_csky and related bfd_mach defines. (bfd_csky_arch): Declare. (bfd_archures_list): Add C-SKY. * bfd-in.h (elf32_csky_build_stubs): Declare. (elf32_csky_size_stubs): Declare. (elf32_csky_next_input_section: Declare. (elf32_csky_setup_section_lists): Declare. * bfd-in2.h: Regenerated. * config.bfd: Add C-SKY. * configure.ac: Likewise. * configure: Regenerated. * cpu-csky.c: New file. * elf-bfd.h (enum elf_target_id): Add C-SKY. * elf32-csky.c: New file. * libbfd.h: Regenerated. * reloc.c: Add C-SKY relocations. * targets.c (csky_elf32_be_vec, csky_elf32_le_vec): Declare. (_bfd_target_vector): Add C-SKY target vector entries. binutils* readelf.c: Include elf/csky.h. (guess_is_rela): Handle EM_CSKY. (dump_relocations): Likewise. (get_machine_name): Likewise. (is_32bit_abs_reloc): Likewise. include * dis-asm.h (csky_symbol_is_valid): Declare. * opcode/csky.h: New file. opcodes * Makefile.am (TARGET_LIBOPCODES_CFILES): Add csky-dis.c. * Makefile.in: Regenerated. * configure.ac: Add C-SKY. * configure: Regenerated. * csky-dis.c: New file. * csky-opc.h: New file. * disassemble.c (ARCH_csky): Define. (disassembler, disassemble_init_for_target): Add case for ARCH_csky. * disassemble.h (print_insn_csky, csky_get_disassembler): Declare. gas * Makefile.am (TARGET_CPU_CFILES): Add entry for C-SKY. (TARGET_CPU_HFILES, TARGET_ENV_HFILES): Likewise. * Makefile.in: Regenerated. * config/tc-csky.c: New file. * config/tc-csky.h: New file. * config/te-csky_abiv1.h: New file. * config/te-csky_abiv1_linux.h: New file. * config/te-csky_abiv2.h: New file. * config/te-csky_abiv2_linux.h: New file. * configure.tgt: Add C-SKY. * doc/Makefile.am (CPU_DOCS): Add entry for C-SKY. * doc/Makefile.in: Regenerated. * doc/all.texi: Set CSKY feature. * doc/as.texi (Overview): Add C-SKY options. (Machine Dependencies): Likewise. * doc/c-csky.texi: New file. * testsuite/gas/csky/*: New test cases. ld * Makefile.am (ALL_EMULATION_SOURCES): Add C-SKY emulations. (ecskyelf.c, ecskyelf_linux.c): New rules. * Makefile.in: Regenerated. * configure.tgt: Add C-SKY. * emulparams/cskyelf.sh: New file. * emulparams/cskyelf_linux.sh: New file. * emultempl/cskyelf.em: New file. * gen-doc.texi: Add C-SKY. * ld.texi: Likewise. (Options specific to C-SKY targets): New section. * testsuite/ld-csky/*: New tests.
2018-07-30 19:24:14 +08:00
#name: Emit relocs 1
#source: emit-relocs-1a.s
#source: emit-relocs-1b.s
#ld: -q -T emit-relocs-1.ld
#objdump: -sr
.*: file format .*
RELOCATION RECORDS FOR \[\.data\]:
OFFSET TYPE VALUE *
00000000 R_CKCORE_ADDR32 \.data
00000004 R_CKCORE_ADDR32 \.data\+0x00001000
00000008 R_CKCORE_ADDR32 \.merge1\+0x00000002
0000000c R_CKCORE_ADDR32 \.merge2
00000010 R_CKCORE_ADDR32 \.merge3
00000014 R_CKCORE_ADDR32 \.merge3\+0x00000004
00000020 R_CKCORE_ADDR32 \.data\+0x00000020
00000024 R_CKCORE_ADDR32 \.data\+0x00001020
00000028 R_CKCORE_ADDR32 \.merge1
0000002c R_CKCORE_ADDR32 \.merge2\+0x00000002
00000030 R_CKCORE_ADDR32 \.merge3\+0x00000008
00000034 R_CKCORE_ADDR32 \.merge3\+0x00000004
Contents of section \.text:
80000 036c .*
Contents of section \.merge1:
80400 666c7574 74657200 flutter.*
Contents of section \.merge2:
80800 74617374 696e6700 tasting.*
Contents of section \.merge3:
80c00 00010000 00020000 00030000 .*
Contents of section \.data:
81000 00100800 00200800 02040800 00080800 .*
81010 000c0800 040c0800 00000000 00000000 .*
81020 20100800 20200800 00040800 02080800 .*
81030 080c0800 040c0800 .*