From: Lulu Cai <cailulu@loongson.cn>
To: binutils@sourceware.org
Cc: xuchenghua@loongson.cn, chenglulu@loongson.cn,
liuzhensong@loongson.cn, mengqinggang@loongson.cn,
xry111@xry111.site, i.swmail@xen0n.name, maskray@google.com,
luweining@loongson.cn, wanglei@loongson.cn,
hejinyang@loongson.cn, Lulu Cai <cailulu@loongson.cn>
Subject: [PATCH v5 0/5] Add support for TLS Descriptors (TLSDESC)
Date: Fri, 22 Dec 2023 19:42:38 +0800 [thread overview]
Message-ID: <20231222114243.1836112-1-cailulu@loongson.cn> (raw)
v5 mainly changes the relocation name and adds relocation
for immediate value field of ld.w/d.
1. R_LARCH_TLS_DESC_ADD_PC_LO12 -> R_LARCH_TLS_DESC_PC_LO12.
R_LARCH_TLS_DESC_LD(113) -> R_LARCH_TLS_DESC_LD(119)
2. Added 32 abs test case.
3. Added R_LARCH_TLS_DESC_LD relocation to the immediate field of
the ld.w/d instruction.
Such as:
pcalau12i $r4,%desc_pc_hi20(var)
addi.d $r4,$r4,%desc_pc_lo12(var)
ld.d $r1,$r4,0 -> ld.d $r1,$r4,%desc_ld(var)
jirl $r1,$r1,%desc_call(var)
addi.d $a0,$a0,$tp
Lulu Cai (4):
LoongArch: Add new relocs and macro for TLSDESC.
LoongArch: Add support for TLSDESC in ld.
LoongArch: Add tls transition support.
LoongArch: Add testsuit for DESC and tls transition and tls
relaxation.
mengqinggang (1):
LoongArch: Add support for TLS LD/GD/DESC relaxation
bfd/bfd-in2.h | 15 +
bfd/elfnn-loongarch.c | 552 +++++++++++++++++-
bfd/elfxx-loongarch.c | 270 ++++++++-
bfd/libbfd.h | 15 +
bfd/reloc.c | 36 ++
gas/config/tc-loongarch.c | 20 +-
gas/testsuite/gas/loongarch/macro_op.d | 128 ++--
gas/testsuite/gas/loongarch/macro_op_32.d | 120 ++--
.../gas/loongarch/macro_op_large_abs.d | 160 ++---
.../gas/loongarch/macro_op_large_pc.d | 160 ++---
gas/testsuite/gas/loongarch/tlsdesc_32.d | 28 +
gas/testsuite/gas/loongarch/tlsdesc_32.s | 12 +
gas/testsuite/gas/loongarch/tlsdesc_32_abs.d | 26 +
gas/testsuite/gas/loongarch/tlsdesc_32_abs.s | 8 +
gas/testsuite/gas/loongarch/tlsdesc_64.d | 28 +
gas/testsuite/gas/loongarch/tlsdesc_64.s | 12 +
.../gas/loongarch/tlsdesc_large_abs.d | 34 ++
.../gas/loongarch/tlsdesc_large_abs.s | 12 +
.../gas/loongarch/tlsdesc_large_pc.d | 38 ++
.../gas/loongarch/tlsdesc_large_pc.s | 17 +
include/elf/loongarch.h | 26 +-
include/opcode/loongarch.h | 6 +
ld/testsuite/ld-loongarch-elf/desc-ie.d | 16 +
ld/testsuite/ld-loongarch-elf/desc-ie.s | 18 +
ld/testsuite/ld-loongarch-elf/desc-le.d | 15 +
ld/testsuite/ld-loongarch-elf/desc-le.s | 14 +
ld/testsuite/ld-loongarch-elf/desc-norelax.d | 16 +
ld/testsuite/ld-loongarch-elf/desc-norelax.s | 5 +
ld/testsuite/ld-loongarch-elf/desc-relax.d | 15 +
ld/testsuite/ld-loongarch-elf/desc-relax.s | 5 +
ld/testsuite/ld-loongarch-elf/ie-le.d | 13 +
ld/testsuite/ld-loongarch-elf/ie-le.s | 11 +
.../ld-loongarch-elf/ld-loongarch-elf.exp | 9 +
ld/testsuite/ld-loongarch-elf/macro_op.d | 391 +++++++------
ld/testsuite/ld-loongarch-elf/macro_op_32.d | 120 ++--
ld/testsuite/ld-loongarch-elf/tlsdesc-dso.d | 56 ++
ld/testsuite/ld-loongarch-elf/tlsdesc-dso.s | 65 +++
opcodes/loongarch-opc.c | 54 ++
38 files changed, 1980 insertions(+), 566 deletions(-)
create mode 100644 gas/testsuite/gas/loongarch/tlsdesc_32.d
create mode 100644 gas/testsuite/gas/loongarch/tlsdesc_32.s
create mode 100644 gas/testsuite/gas/loongarch/tlsdesc_32_abs.d
create mode 100644 gas/testsuite/gas/loongarch/tlsdesc_32_abs.s
create mode 100644 gas/testsuite/gas/loongarch/tlsdesc_64.d
create mode 100644 gas/testsuite/gas/loongarch/tlsdesc_64.s
create mode 100644 gas/testsuite/gas/loongarch/tlsdesc_large_abs.d
create mode 100644 gas/testsuite/gas/loongarch/tlsdesc_large_abs.s
create mode 100644 gas/testsuite/gas/loongarch/tlsdesc_large_pc.d
create mode 100644 gas/testsuite/gas/loongarch/tlsdesc_large_pc.s
create mode 100644 ld/testsuite/ld-loongarch-elf/desc-ie.d
create mode 100644 ld/testsuite/ld-loongarch-elf/desc-ie.s
create mode 100644 ld/testsuite/ld-loongarch-elf/desc-le.d
create mode 100644 ld/testsuite/ld-loongarch-elf/desc-le.s
create mode 100644 ld/testsuite/ld-loongarch-elf/desc-norelax.d
create mode 100644 ld/testsuite/ld-loongarch-elf/desc-norelax.s
create mode 100644 ld/testsuite/ld-loongarch-elf/desc-relax.d
create mode 100644 ld/testsuite/ld-loongarch-elf/desc-relax.s
create mode 100644 ld/testsuite/ld-loongarch-elf/ie-le.d
create mode 100644 ld/testsuite/ld-loongarch-elf/ie-le.s
create mode 100644 ld/testsuite/ld-loongarch-elf/tlsdesc-dso.d
create mode 100644 ld/testsuite/ld-loongarch-elf/tlsdesc-dso.s
--
2.43.0
next reply other threads:[~2023-12-22 11:42 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-22 11:42 Lulu Cai [this message]
2023-12-22 11:42 ` [PATCH v5 1/5] LoongArch: Add new relocs and macro for TLSDESC Lulu Cai
2023-12-22 11:42 ` [PATCH v5 2/5] LoongArch: Add support for TLSDESC in ld Lulu Cai
2023-12-28 14:54 ` Tatsuyuki Ishi
2023-12-29 10:24 ` Lulu Cai
2023-12-22 11:42 ` [PATCH v5 3/5] LoongArch: Add tls transition support Lulu Cai
2023-12-28 14:42 ` Tatsuyuki Ishi
2023-12-29 10:31 ` Lulu Cai
2023-12-22 11:42 ` [PATCH v5 4/5] LoongArch: Add support for TLS LD/GD/DESC relaxation Lulu Cai
2023-12-28 14:38 ` Tatsuyuki Ishi
2023-12-29 10:36 ` Lulu Cai
2023-12-29 10:45 ` Lulu Cai
2024-01-07 23:00 ` Tatsuyuki Ishi
2024-01-08 0:22 ` Fangrui Song
[not found] ` <DS7PR12MB5765D250CD96B4F6EF6674BACB6B2@DS7PR12MB5765.namprd12.prod.outlook.com>
2024-01-08 6:00 ` Lulu Cai
2024-01-08 7:59 ` Tatsuyuki Ishi
2024-01-27 2:54 ` [PATCH v5 0/5] Add support for TLS Descriptors (TLSDESC) Fangrui Song
[not found] ` <DS7PR12MB5765A6FBD6297BAEDB57FF6CCB782@DS7PR12MB5765.namprd12.prod.outlook.com>
2024-01-27 7:26 ` Lulu Cai
2024-01-27 19:18 ` Fangrui Song
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=20231222114243.1836112-1-cailulu@loongson.cn \
--to=cailulu@loongson.cn \
--cc=binutils@sourceware.org \
--cc=chenglulu@loongson.cn \
--cc=hejinyang@loongson.cn \
--cc=i.swmail@xen0n.name \
--cc=liuzhensong@loongson.cn \
--cc=luweining@loongson.cn \
--cc=maskray@google.com \
--cc=mengqinggang@loongson.cn \
--cc=wanglei@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).