public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
From: liuzhensong <liuzhensong@loongson.cn>
To: binutils@sourceware.org
Cc: xry111@xry111.site, i.swmail@xen0n.name, maskray@google.com,
	xuchenghua@loongson.cn, mengqinggang@loongson.cn,
	huangpei@loongson.cn, chenglulu@loongson.cn,
	caiyinyu@loongson.cn, liuzhensong <liuzhensong@loongson.cn>
Subject: [PATCH v2 0/6] Add new relocations for LoongArch.
Date: Thu, 21 Jul 2022 09:37:46 +0800	[thread overview]
Message-ID: <20220721013751.466014-1-liuzhensong@loongson.cn> (raw)

This is the v2 version of patches to support new relocations for LoongArch.

The new reloc types docnments are on:
https://github.com/loongson/LoongArch-Documentation/pull/57/files

The testsuite status:

                === binutils Summary === 

# of expected passes            241
# of unsupported tests          6

                === gas Summary ===

# of expected passes            270
# of unsupported tests          7

                === ld Summary ===

# of expected passes            1457
# of expected failures          11
# of untested testcases         1
# of unsupported tests          154


The patch set changelog:

v1 -> v2
1. Rename some relocations.
2. Fix bug caused by a pointer point to global ifunc.
3. Fix bug in relocation R_LARCH_SOP_PUSH_GPREL.
3. Change some comments.
4. Add testcases.


liuzhensong (6):
  bfd: Add supported for LoongArch new relocations.
  LoongArch:opcodes: Add new reloc types.
  LoongArch: gas: Add new reloc types.
  LoongArch: Move ifunc info to rela.dyn from rela.plt.
  bfd: Delete R_LARCH_NONE from dyn info of LoongArch.
  LoongArch: Add testcases for new relocate types.

 bfd/bfd-in2.h                                 |   37 +
 bfd/elfnn-loongarch.c                         | 1554 ++++++++++++-----
 bfd/elfxx-loongarch.c                         | 1371 +++++++++++----
 bfd/elfxx-loongarch.h                         |    4 +
 bfd/libbfd.h                                  |   37 +
 bfd/reloc.c                                   |   82 +
 binutils/readelf.c                            |    2 +
 gas/config/loongarch-lex.h                    |    3 +
 gas/config/loongarch-parse.y                  |   72 +-
 gas/config/tc-loongarch.c                     |  140 +-
 gas/config/tc-loongarch.h                     |    7 +-
 gas/testsuite/gas/all/gas.exp                 |    4 +-
 gas/testsuite/gas/loongarch/jmp_op.d          |   82 +-
 gas/testsuite/gas/loongarch/jmp_op.s          |   38 +-
 gas/testsuite/gas/loongarch/macro_op.d        |  778 +--------
 gas/testsuite/gas/loongarch/macro_op.s        |   44 +-
 gas/testsuite/gas/loongarch/macro_op_32.d     |   55 +
 gas/testsuite/gas/loongarch/macro_op_32.s     |   16 +
 .../gas/loongarch/macro_op_large_abs.d        |   77 +
 .../gas/loongarch/macro_op_large_abs.s        |    9 +
 .../gas/loongarch/macro_op_large_pc.d         |   77 +
 .../gas/loongarch/macro_op_large_pc.s         |    9 +
 gas/testsuite/gas/loongarch/reloc.d           |  167 ++
 gas/testsuite/gas/loongarch/reloc.s           |  144 ++
 include/elf/loongarch.h                       |  139 ++
 ld/testsuite/ld-elf/eh5.d                     |    2 +-
 ld/testsuite/ld-elf/pr26936.d                 |    2 +-
 ld/testsuite/ld-elf/shared.exp                |    6 +-
 ld/testsuite/ld-loongarch-elf/attr-ifunc-4.c  |   23 +
 .../ld-loongarch-elf/attr-ifunc-4.out         |    1 +
 ld/testsuite/ld-loongarch-elf/disas-jirl-32.d |   18 +-
 ld/testsuite/ld-loongarch-elf/disas-jirl.d    |   19 +-
 ld/testsuite/ld-loongarch-elf/ifunc.exp       |   34 +
 ld/testsuite/ld-loongarch-elf/jmp_op.d        |   84 +-
 ld/testsuite/ld-loongarch-elf/jmp_op.s        |   42 +-
 .../ld-loongarch-elf/libnopic-global.s        |  113 ++
 ld/testsuite/ld-loongarch-elf/macro_op.d      |  883 ++--------
 ld/testsuite/ld-loongarch-elf/macro_op.s      |   57 +-
 ld/testsuite/ld-loongarch-elf/macro_op_32.d   |  768 +-------
 ld/testsuite/ld-loongarch-elf/macro_op_32.s   |   43 +-
 .../ld-loongarch-elf/nopic-global-so.rd       |    5 +
 .../ld-loongarch-elf/nopic-global-so.sd       |   10 +
 .../ld-loongarch-elf/nopic-global.out         |    1 +
 ld/testsuite/ld-loongarch-elf/nopic-global.s  |  373 ++++
 ld/testsuite/ld-loongarch-elf/nopic-global.sd |    5 +
 ld/testsuite/ld-loongarch-elf/nopic-global.xd |    3 +
 ld/testsuite/ld-loongarch-elf/nopic-local.out |    1 +
 ld/testsuite/ld-loongarch-elf/nopic-local.rd  |    0
 ld/testsuite/ld-loongarch-elf/nopic-local.s   |  383 ++++
 ld/testsuite/ld-loongarch-elf/nopic-local.sd  |    5 +
 ld/testsuite/ld-loongarch-elf/nopic-local.xd  |    3 +
 .../ld-loongarch-elf/nopic-weak-global-so.rd  |    5 +
 .../ld-loongarch-elf/nopic-weak-global-so.sd  |   10 +
 .../ld-loongarch-elf/nopic-weak-global.out    |    1 +
 .../ld-loongarch-elf/nopic-weak-global.s      |  374 ++++
 .../ld-loongarch-elf/nopic-weak-global.sd     |    5 +
 .../ld-loongarch-elf/nopic-weak-global.xd     |    3 +
 .../ld-loongarch-elf/nopic-weak-local.out     |    1 +
 .../ld-loongarch-elf/nopic-weak-local.rd      |    0
 .../ld-loongarch-elf/nopic-weak-local.s       |  383 ++++
 .../ld-loongarch-elf/nopic-weak-local.sd      |    5 +
 .../ld-loongarch-elf/nopic-weak-local.xd      |    3 +
 ld/testsuite/ld-loongarch-elf/pic.exp         |  202 +++
 ld/testsuite/ld-loongarch-elf/pic.ld          |   18 +
 opcodes/loongarch-opc.c                       |  412 +++--
 65 files changed, 5773 insertions(+), 3481 deletions(-)
 create mode 100644 gas/testsuite/gas/loongarch/macro_op_32.d
 create mode 100644 gas/testsuite/gas/loongarch/macro_op_32.s
 create mode 100644 gas/testsuite/gas/loongarch/macro_op_large_abs.d
 create mode 100644 gas/testsuite/gas/loongarch/macro_op_large_abs.s
 create mode 100644 gas/testsuite/gas/loongarch/macro_op_large_pc.d
 create mode 100644 gas/testsuite/gas/loongarch/macro_op_large_pc.s
 create mode 100644 gas/testsuite/gas/loongarch/reloc.d
 create mode 100644 gas/testsuite/gas/loongarch/reloc.s
 create mode 100644 ld/testsuite/ld-loongarch-elf/attr-ifunc-4.c
 create mode 100644 ld/testsuite/ld-loongarch-elf/attr-ifunc-4.out
 create mode 100644 ld/testsuite/ld-loongarch-elf/ifunc.exp
 create mode 100644 ld/testsuite/ld-loongarch-elf/libnopic-global.s
 create mode 100644 ld/testsuite/ld-loongarch-elf/nopic-global-so.rd
 create mode 100644 ld/testsuite/ld-loongarch-elf/nopic-global-so.sd
 create mode 100644 ld/testsuite/ld-loongarch-elf/nopic-global.out
 create mode 100644 ld/testsuite/ld-loongarch-elf/nopic-global.s
 create mode 100644 ld/testsuite/ld-loongarch-elf/nopic-global.sd
 create mode 100644 ld/testsuite/ld-loongarch-elf/nopic-global.xd
 create mode 100644 ld/testsuite/ld-loongarch-elf/nopic-local.out
 create mode 100644 ld/testsuite/ld-loongarch-elf/nopic-local.rd
 create mode 100644 ld/testsuite/ld-loongarch-elf/nopic-local.s
 create mode 100644 ld/testsuite/ld-loongarch-elf/nopic-local.sd
 create mode 100644 ld/testsuite/ld-loongarch-elf/nopic-local.xd
 create mode 100644 ld/testsuite/ld-loongarch-elf/nopic-weak-global-so.rd
 create mode 100644 ld/testsuite/ld-loongarch-elf/nopic-weak-global-so.sd
 create mode 100644 ld/testsuite/ld-loongarch-elf/nopic-weak-global.out
 create mode 100644 ld/testsuite/ld-loongarch-elf/nopic-weak-global.s
 create mode 100644 ld/testsuite/ld-loongarch-elf/nopic-weak-global.sd
 create mode 100644 ld/testsuite/ld-loongarch-elf/nopic-weak-global.xd
 create mode 100644 ld/testsuite/ld-loongarch-elf/nopic-weak-local.out
 create mode 100644 ld/testsuite/ld-loongarch-elf/nopic-weak-local.rd
 create mode 100644 ld/testsuite/ld-loongarch-elf/nopic-weak-local.s
 create mode 100644 ld/testsuite/ld-loongarch-elf/nopic-weak-local.sd
 create mode 100644 ld/testsuite/ld-loongarch-elf/nopic-weak-local.xd
 create mode 100644 ld/testsuite/ld-loongarch-elf/pic.exp
 create mode 100644 ld/testsuite/ld-loongarch-elf/pic.ld

-- 
2.31.1


             reply	other threads:[~2022-07-21  1:38 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-21  1:37 liuzhensong [this message]
2022-07-21  1:37 ` [PATCH v2 1/6] bfd: Add supported for LoongArch new relocations liuzhensong
2022-07-21  1:37 ` [PATCH v2 2/6] LoongArch:opcodes: Add new reloc types liuzhensong
2022-07-21  2:30   ` Xi Ruoyao
2022-07-21  6:02     ` liuzhensong
2022-07-21  7:51       ` Xi Ruoyao
2022-07-21  8:26         ` liuzhensong
2022-07-21  1:37 ` [PATCH v2 3/6] LoongArch: gas: " liuzhensong
2022-07-21  1:37 ` [PATCH v2 4/6] LoongArch: Move ifunc info to rela.dyn from rela.plt liuzhensong
2022-07-21  1:37 ` [PATCH v2 5/6] bfd: Delete R_LARCH_NONE from dyn info of LoongArch liuzhensong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220721013751.466014-1-liuzhensong@loongson.cn \
    --to=liuzhensong@loongson.cn \
    --cc=binutils@sourceware.org \
    --cc=caiyinyu@loongson.cn \
    --cc=chenglulu@loongson.cn \
    --cc=huangpei@loongson.cn \
    --cc=i.swmail@xen0n.name \
    --cc=maskray@google.com \
    --cc=mengqinggang@loongson.cn \
    --cc=xry111@xry111.site \
    --cc=xuchenghua@loongson.cn \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).