[PATCH LoongArch v3 0/5] Add LoongArch support.
Chenghua Xu
xuchenghua@loongson.cn
Fri Oct 22 08:39:22 GMT 2021
This is the v3 version of patch set to support LoongArch.
The v1 patch are on:
https://sourceware.org/pipermail/binutils/2021-August/117697.html
The v2 patch are on:
https://sourceware.org/pipermail/binutils/2021-September/117976.html
The LoongArch architecture (LoongArch) is an Instruction Set
Architecture (ISA) that has a Reduced Instruction Set Computer (RISC)
style.
The documents are on
https://loongson.github.io/LoongArch-Documentation/README-EN.html
The ELF ABI Documents are on:
https://loongson.github.io/LoongArch-Documentation/LoongArch-ELF-ABI-EN.html
The testsuite status:
=== binutils Summary ===
# of expected passes 230
# of unsupported tests 9
=== gas Summary ===
# of expected passes 256
# of expected failures 2
# of unsupported tests 3
=== ld Summary ===
# of expected passes 1147
# of unexpected failures 13
# of unexpected successes 1
# of expected failures 7
# of unsupported tests 345
The patch set changelog:
v1 -> v2
1. Change code style.
2. Add gas and ld testsuite.
3. Build with -fsanitize=address,undefined, Fix failure.
4. Change '64/ lib64' to 64 in LIBPATH_SUFFI.
5. Some bug fix.
v2 -> v3
1. Add elf32 emulparams.
2. Change -mabi=lp32 to -mabi=ilp32.
3. Some bug fix.
liuzhensong (5):
bfd: LoongArch BFD support.
opcodes: LoongArch Opcodes Port.
binutils: LoongArch Binutils Port.
gas: LoongArch GAS Port.
ld: LoongArch LD Port.
bfd/Makefile.am | 17 +-
bfd/Makefile.in | 21 +-
bfd/archures.c | 5 +
bfd/bfd-in2.h | 48 +
bfd/config.bfd | 15 +
bfd/configure | 2 +
bfd/configure.ac | 2 +
bfd/cpu-loongarch.c | 61 +
bfd/elf-bfd.h | 9 +
bfd/elf.c | 109 +
bfd/elfnn-loongarch.c | 3267 +++++++++++++++++
bfd/elfxx-loongarch.c | 661 ++++
bfd/elfxx-loongarch.h | 31 +
bfd/libbfd.h | 43 +
bfd/po/BLD-POTFILES.in | 2 +
bfd/po/SRC-POTFILES.in | 1 +
bfd/reloc.c | 89 +
bfd/targets.c | 8 +
binutils/NEWS | 2 +
binutils/readelf.c | 24 +
binutils/testsuite/binutils-all/objdump.exp | 1 +
gas/Makefile.am | 17 +-
gas/Makefile.in | 28 +-
gas/NEWS | 2 +
gas/config/loongarch-lex-wrapper.c | 20 +
gas/config/loongarch-lex.h | 34 +
gas/config/loongarch-lex.l | 61 +
gas/config/loongarch-parse.y | 441 +++
gas/config/tc-loongarch.c | 1381 +++++++
gas/config/tc-loongarch.h | 91 +
gas/configure | 17 +
gas/configure.ac | 13 +
gas/configure.tgt | 6 +-
gas/doc/as.texi | 31 +
gas/doc/c-loongarch.texi | 39 +
gas/po/POTFILES.in | 1 +
gas/testsuite/gas/all/gas.exp | 5 +-
gas/testsuite/gas/elf/elf.exp | 1 +
gas/testsuite/gas/loongarch/4opt_op.d | 70 +
gas/testsuite/gas/loongarch/4opt_op.s | 61 +
gas/testsuite/gas/loongarch/fix_op.d | 134 +
gas/testsuite/gas/loongarch/fix_op.s | 125 +
gas/testsuite/gas/loongarch/float_op.d | 85 +
gas/testsuite/gas/loongarch/float_op.s | 76 +
gas/testsuite/gas/loongarch/imm_op.d | 48 +
gas/testsuite/gas/loongarch/imm_op.s | 39 +
gas/testsuite/gas/loongarch/jmp_op.d | 68 +
gas/testsuite/gas/loongarch/jmp_op.s | 22 +
gas/testsuite/gas/loongarch/load_store_op.d | 178 +
gas/testsuite/gas/loongarch/load_store_op.s | 169 +
gas/testsuite/gas/loongarch/loongarch.exp | 23 +
gas/testsuite/gas/loongarch/macro_op.d | 733 ++++
gas/testsuite/gas/loongarch/macro_op.s | 29 +
gas/testsuite/gas/loongarch/nop.d | 10 +
gas/testsuite/gas/loongarch/nop.s | 2 +
gas/testsuite/gas/loongarch/privilege_op.d | 44 +
gas/testsuite/gas/loongarch/privilege_op.s | 35 +
gas/testsuite/gas/loongarch/syscall.d | 11 +
gas/testsuite/gas/loongarch/syscall.s | 2 +
gas/testsuite/lib/gas-defs.exp | 4 +
include/dis-asm.h | 1 +
include/elf/common.h | 12 +-
include/elf/loongarch.h | 119 +
include/opcode/loongarch.h | 239 ++
ld/Makefile.am | 4 +
ld/Makefile.in | 5 +
ld/NEWS | 2 +
ld/configure.tgt | 4 +
ld/emulparams/elf32loongarch-defs.sh | 36 +
ld/emulparams/elf32loongarch.sh | 11 +
ld/emulparams/elf64loongarch-defs.sh | 39 +
ld/emulparams/elf64loongarch.sh | 11 +
ld/emultempl/loongarchelf.em | 87 +
ld/po/BLD-POTFILES.in | 2 +
ld/testsuite/ld-loongarch-elf/disas-jirl.d | 14 +
ld/testsuite/ld-loongarch-elf/disas-jirl.s | 5 +
ld/testsuite/ld-loongarch-elf/jmp_op.d | 68 +
ld/testsuite/ld-loongarch-elf/jmp_op.s | 22 +
.../ld-loongarch-elf/ld-loongarch-elf.exp | 34 +
ld/testsuite/ld-loongarch-elf/macro_op.d | 732 ++++
ld/testsuite/ld-loongarch-elf/macro_op.s | 29 +
ld/testsuite/ld-loongarch-elf/syscall-0.s | 9 +
ld/testsuite/ld-loongarch-elf/syscall-1.s | 20 +
ld/testsuite/ld-loongarch-elf/syscall.d | 5 +
ld/testsuite/ld-srec/srec.exp | 6 +
ld/testsuite/ld-unique/pr21529.d | 2 +-
opcodes/Makefile.am | 3 +
opcodes/Makefile.in | 6 +
opcodes/configure | 1 +
opcodes/configure.ac | 1 +
opcodes/disassemble.c | 9 +
opcodes/disassemble.h | 1 +
opcodes/loongarch-coder.c | 472 +++
opcodes/loongarch-dis.c | 342 ++
opcodes/loongarch-opc.c | 814 ++++
opcodes/po/POTFILES.in | 3 +
96 files changed, 11735 insertions(+), 9 deletions(-)
create mode 100644 bfd/cpu-loongarch.c
create mode 100644 bfd/elfnn-loongarch.c
create mode 100644 bfd/elfxx-loongarch.c
create mode 100644 bfd/elfxx-loongarch.h
create mode 100644 gas/config/loongarch-lex-wrapper.c
create mode 100644 gas/config/loongarch-lex.h
create mode 100644 gas/config/loongarch-lex.l
create mode 100644 gas/config/loongarch-parse.y
create mode 100644 gas/config/tc-loongarch.c
create mode 100644 gas/config/tc-loongarch.h
create mode 100644 gas/doc/c-loongarch.texi
create mode 100644 gas/testsuite/gas/loongarch/4opt_op.d
create mode 100644 gas/testsuite/gas/loongarch/4opt_op.s
create mode 100644 gas/testsuite/gas/loongarch/fix_op.d
create mode 100644 gas/testsuite/gas/loongarch/fix_op.s
create mode 100644 gas/testsuite/gas/loongarch/float_op.d
create mode 100644 gas/testsuite/gas/loongarch/float_op.s
create mode 100644 gas/testsuite/gas/loongarch/imm_op.d
create mode 100644 gas/testsuite/gas/loongarch/imm_op.s
create mode 100644 gas/testsuite/gas/loongarch/jmp_op.d
create mode 100644 gas/testsuite/gas/loongarch/jmp_op.s
create mode 100644 gas/testsuite/gas/loongarch/load_store_op.d
create mode 100644 gas/testsuite/gas/loongarch/load_store_op.s
create mode 100644 gas/testsuite/gas/loongarch/loongarch.exp
create mode 100644 gas/testsuite/gas/loongarch/macro_op.d
create mode 100644 gas/testsuite/gas/loongarch/macro_op.s
create mode 100644 gas/testsuite/gas/loongarch/nop.d
create mode 100644 gas/testsuite/gas/loongarch/nop.s
create mode 100644 gas/testsuite/gas/loongarch/privilege_op.d
create mode 100644 gas/testsuite/gas/loongarch/privilege_op.s
create mode 100644 gas/testsuite/gas/loongarch/syscall.d
create mode 100644 gas/testsuite/gas/loongarch/syscall.s
create mode 100644 include/elf/loongarch.h
create mode 100644 include/opcode/loongarch.h
create mode 100644 ld/emulparams/elf32loongarch-defs.sh
create mode 100644 ld/emulparams/elf32loongarch.sh
create mode 100644 ld/emulparams/elf64loongarch-defs.sh
create mode 100644 ld/emulparams/elf64loongarch.sh
create mode 100644 ld/emultempl/loongarchelf.em
create mode 100644 ld/testsuite/ld-loongarch-elf/disas-jirl.d
create mode 100644 ld/testsuite/ld-loongarch-elf/disas-jirl.s
create mode 100644 ld/testsuite/ld-loongarch-elf/jmp_op.d
create mode 100644 ld/testsuite/ld-loongarch-elf/jmp_op.s
create mode 100644 ld/testsuite/ld-loongarch-elf/ld-loongarch-elf.exp
create mode 100644 ld/testsuite/ld-loongarch-elf/macro_op.d
create mode 100644 ld/testsuite/ld-loongarch-elf/macro_op.s
create mode 100644 ld/testsuite/ld-loongarch-elf/syscall-0.s
create mode 100644 ld/testsuite/ld-loongarch-elf/syscall-1.s
create mode 100644 ld/testsuite/ld-loongarch-elf/syscall.d
create mode 100644 opcodes/loongarch-coder.c
create mode 100644 opcodes/loongarch-dis.c
create mode 100644 opcodes/loongarch-opc.c
--
2.27.0
More information about the Binutils
mailing list