[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