1
1
mirror of https://github.com/rui314/mold.git synced 2024-11-10 10:57:55 +03:00
Commit Graph

21 Commits

Author SHA1 Message Date
Rui Ueyama
91ce29d30c Update comments 2022-09-20 22:58:31 +08:00
Rui Ueyama
3564b71c4f Update comments 2022-09-20 22:52:15 +08:00
Rui Ueyama
3b58bf52a7 [ELF][SPARC] Fix R_SPARC_OLO10 2022-09-20 17:44:05 +08:00
Rui Ueyama
e6625d0c86 Refactor 2022-09-20 16:03:59 +08:00
Rui Ueyama
1f53fd2adf Refactor 2022-09-20 14:18:29 +08:00
Rui Ueyama
f1ccc05c3f [ELF][SPARC] Simplify TLS handling
__tls_get_addr is not available in statically-linked executables,
so we have been relaxing all TLSGD and TLSLD relocations for static
executables. However, I noticed that it's much easier to provide a
replacement function for __tls_get_addr instead of implementing all
TLS relaxations.

With this change, all mold's unit tests pass on qemu-sparc64.
2022-09-20 13:30:52 +08:00
Rui Ueyama
a1a8058b3d [ELF][SPARC] Fix TLSLD relaxation 2022-09-20 11:17:59 +08:00
Rui Ueyama
d8fa5343ec [ELF][SPARC] Fix TLSGD relaxation 2022-09-20 09:45:25 +08:00
Rui Ueyama
9dcc70f6ee [ELF][SPARC] Fix more test failures 2022-09-19 21:03:37 +08:00
Rui Ueyama
139aae9444 [ELF][SPARC64] Relax R_SPARC_GOTDATA relocations 2022-09-19 17:13:21 +08:00
Rui Ueyama
6952ba3953 [ELF][SPARC64] Relax TLSGD and TLSLD relocations 2022-09-19 15:16:31 +08:00
Rui Ueyama
0788013cd8 [ELF] Create symbols for relocations referring mergeable section symbols
Previously, a relocation is associated either to a symbol or a section
fragment. Now, we synthesize a symbol for each unnamed piece of section
fragment and associate it to a relocation.
2022-09-19 15:16:31 +08:00
Martin Liska
a9e697660b sparc64: remove unused code
Signed-off-by: Martin Liska <mliska@suse.cz>
2022-09-18 19:18:55 +02:00
Rui Ueyama
5c8cd76d2e [ELF][SPARC] Support TLS relocations 2022-09-18 19:43:46 +08:00
Rui Ueyama
b28e771756 [ELF][SPARC64] Fill .plt.got contents 2022-09-18 17:26:03 +08:00
Rui Ueyama
190da9ce92 [ELF][SPARC64] Support non-position-independent executables 2022-09-18 15:26:23 +08:00
Rui Ueyama
4698c1364a Refactor 2022-09-18 13:04:56 +08:00
Rui Ueyama
562b52906f [ELF][SPARC64] Support more relocations
With this commit, we can now build a dynamically-linked "hello world"
program for SPARC64.
2022-09-18 12:08:26 +08:00
Rui Ueyama
c1bdbe2327 Add a comment 2022-09-16 21:56:31 +08:00
Rui Ueyama
a189dae361 [ELF][SPARC64] Implement features
With this commit, mold/SPARC64 can create an output file for
hello-dynamic.sh test, though the output didn't work correctly.
2022-09-16 18:06:19 +08:00
Rui Ueyama
d72e96f02e [ELF] Add a stub for SPARC64 2022-09-16 14:00:21 +08:00