[PATCH LoongArch v3 0/5] Add LoongArch support.
H.J. Lu
hjl.tools@gmail.com
Sun Oct 24 12:15:27 GMT 2021
.On Fri, Oct 22, 2021 at 1:40 AM Chenghua Xu <xuchenghua@loongson.cn> wrote:
>
>
> 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
Please fix unexpected failures and unexpected successes. New port
should have a clean "make check".
> # 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
>
--
H.J.
More information about the Binutils
mailing list