Jiong Wang
259364adb8
[AArch64] Relax TLS local dynamic traditional into local executable
The linker relaxation logic will be:
Code sequence I (tiny):
0x00 adr x0, :tlsldm:x
0x04 bl __tls_get_addr
|
V
0x00 mrs x0, tpidr_el0
0x04 add x0, x0, TCB_SIZE
Code sequence II (small):
0x00 adrp a0, :tlsldm:x
0x04 add a0, #:tlsldm_lo12:x
0x08 bl __tls_get_addr
|
V
0x00 mrs x0, tpidr_el0
0x04 add x0, x0, TCB_SIZE
0x08 nop
2015-09-09 Jiong Wang <jiong.wang@arm.com>
bfd/
* elfnn-aarch64.c (aarch64_tls_transition_without_check): Support
three TLS local dynamic traditional relocations types.
(elfNN_aarch64_tls_relax): Support TLS local dynamic traditional to
local executable relaxation.
ld/testsuite/
* ld-aarch64/tls-relax-ld-le-tiny.s: New testcase.
* ld-aarch64/tls-relax-ld-le-small.s: Likewise.
* ld-aarch64/tls-relax-ld-le-tiny.d: New expectation file.
* ld-aarch64/tls-relax-ld-le-small.d: Likewise.
* ld-aarch64/aarch64-elf.exp: Run new testcases.
2015-09-09 14:19:28 +01:00
..
2015-09-09 14:19:28 +01:00
2015-06-23 12:12:06 +01:00
2015-06-23 12:12:06 +01:00
2015-06-17 16:36:04 +01:00
2015-06-01 15:45:25 +01:00
2015-08-12 13:17:50 +01:00
2015-08-11 21:26:41 +01:00
2015-08-12 13:17:50 +01:00
2015-08-11 21:26:41 +01:00
2015-08-19 16:40:18 +01:00
2015-08-19 16:40:18 +01:00
2015-08-19 16:40:18 +01:00
2015-08-19 16:40:18 +01:00
2015-08-19 16:40:18 +01:00
2015-08-19 16:40:18 +01:00
2015-08-19 16:40:18 +01:00
2015-08-19 16:40:18 +01:00
2015-08-19 16:40:18 +01:00
2015-08-19 16:40:18 +01:00
2015-08-19 16:40:18 +01:00
2015-08-19 16:40:18 +01:00
2015-08-19 16:30:47 +01:00
2015-08-19 16:30:47 +01:00
2015-06-01 10:26:00 +01:00
2015-06-02 14:01:29 +01:00
2015-08-19 16:40:18 +01:00
2015-08-19 16:40:18 +01:00
2015-08-19 16:40:18 +01:00
2015-08-19 16:40:18 +01:00
2015-08-19 16:40:18 +01:00
2015-08-19 16:40:18 +01:00
2015-08-19 16:40:18 +01:00
2015-08-19 16:40:18 +01:00
2015-08-19 16:40:18 +01:00
2015-08-19 16:40:18 +01:00
2015-08-19 16:40:18 +01:00
2015-08-19 16:40:18 +01:00
2015-08-19 16:40:18 +01:00
2015-08-19 16:40:18 +01:00
2015-08-19 16:40:18 +01:00
2015-08-19 16:40:18 +01:00
2015-08-11 21:26:41 +01:00
2015-08-11 21:26:41 +01:00
2015-08-11 21:26:41 +01:00
2015-08-11 21:26:41 +01:00
2015-08-19 16:30:47 +01:00
2015-08-19 16:30:47 +01:00
2015-08-19 16:57:38 +01:00
2015-08-19 16:57:38 +01:00
2015-08-19 16:57:38 +01:00
2015-08-19 16:57:38 +01:00
2015-08-19 16:57:38 +01:00
2015-08-19 16:57:38 +01:00
2015-08-19 16:57:38 +01:00
2015-08-19 16:57:38 +01:00
2015-08-19 16:57:38 +01:00
2015-08-19 16:57:38 +01:00
2015-08-19 16:57:38 +01:00
2015-08-19 16:57:38 +01:00
2015-08-19 16:57:38 +01:00
2015-08-19 16:57:38 +01:00
2015-08-19 16:57:38 +01:00
2015-08-19 16:57:38 +01:00
2015-08-19 16:57:38 +01:00
2015-08-19 16:57:38 +01:00
2015-08-19 16:57:38 +01:00
2015-08-19 16:57:38 +01:00
2015-08-19 16:57:38 +01:00
2015-08-19 16:57:38 +01:00
2015-08-19 16:57:38 +01:00
2015-08-19 16:57:38 +01:00
2015-03-25 15:16:04 +00:00
2015-04-01 13:16:38 +01:00
2015-04-01 13:16:38 +01:00
2015-08-11 22:12:08 +01:00
2015-08-11 22:12:08 +01:00
2015-08-11 21:44:31 +01:00
2015-08-11 21:44:31 +01:00
2015-08-12 13:17:50 +01:00
2015-08-11 21:44:31 +01:00
2015-03-25 15:16:04 +00:00
2015-03-26 16:20:38 +00:00
2015-03-25 15:16:04 +00:00
2015-08-11 22:12:08 +01:00
2015-08-11 22:12:08 +01:00
2015-08-12 13:17:50 +01:00
2015-08-11 21:44:31 +01:00
2015-03-25 15:16:04 +00:00
2015-02-19 13:36:34 +10:30
2015-04-24 22:35:04 +01:00
2015-04-24 22:35:04 +01:00
2015-04-24 22:35:04 +01:00
2015-07-27 11:48:48 +01:00
2015-07-27 11:48:48 +01:00
2015-08-12 09:34:13 +08:00
2015-08-12 09:34:13 +08:00
2015-09-09 14:19:28 +01:00
2015-09-09 14:19:28 +01:00
2015-09-09 14:19:28 +01:00
2015-09-09 14:19:28 +01:00
2015-08-11 21:25:04 +01:00
2015-08-11 21:26:13 +01:00
2015-02-26 22:59:27 +00:00
2015-02-26 22:59:27 +00:00
2015-02-26 22:59:27 +00:00
2015-02-26 22:59:27 +00:00
2015-02-26 22:59:27 +00:00
2015-02-26 22:59:27 +00:00
2015-02-26 22:23:09 +00:00
2015-02-26 22:23:09 +00:00
2015-02-26 22:23:09 +00:00
2015-02-26 22:23:09 +00:00
2015-02-26 22:23:09 +00:00
2015-02-26 22:23:09 +00:00
2015-02-26 22:23:09 +00:00
2015-02-26 22:23:09 +00:00
2015-07-16 15:46:21 +01:00
2015-07-16 15:46:21 +01:00
2015-03-04 09:09:05 +00:00
2015-03-04 09:09:05 +00:00
2015-06-01 10:31:38 +01:00
2015-06-01 10:31:38 +01:00
2015-01-13 11:21:43 +00:00
2015-01-13 11:21:43 +00:00