Rui Ueyama
352ab1a3f9
[Mach-O][ELF] Add a cleanup handler
2022-05-16 20:14:52 +08:00
Rui Ueyama
519de432c7
[Mach-O][LTO] Pass -mllvm to CodeGen
2022-05-16 19:47:25 +08:00
Rui Ueyama
4d380ec645
[Mach-O] Add tests
2022-05-16 19:34:24 +08:00
Rui Ueyama
0326d66b24
Refactor
2022-05-16 19:34:22 +08:00
Rui Ueyama
f392b4aeb3
Refactor
2022-05-16 18:57:16 +08:00
Rui Ueyama
a21a79e846
Refactor
2022-05-16 18:31:44 +08:00
Rui Ueyama
ca6d4a53c4
Update a CI config file
2022-05-16 16:23:03 +08:00
Rui Ueyama
66e585eebe
Fix CI
2022-05-16 16:06:28 +08:00
Rui Ueyama
deebb497d3
[Mach-O][LTO] Add a basic support of LTO
...
mold/macOS can now link a "hello world" program with LTO.
2022-05-16 15:07:09 +08:00
Rui Ueyama
466e93ea46
[ELF] Change a variable name for consistency
...
We use the same spelling for a variable name and a command line option.
2022-05-16 10:20:36 +08:00
Rui Ueyama
3008879d23
Merge pull request #516 from ishitatsuyuki/icf
...
ICF: explain, implement icf=safe and ignore-data-address-equality.
2022-05-16 10:08:33 +08:00
Tatsuyuki Ishi
e8166bcb1b
[elf] Implement ignore-data-address-equality.
...
Closes: https://github.com/rui314/mold/issues/485
Signed-off-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
2022-05-15 21:54:58 +09:00
Tatsuyuki Ishi
27908af67d
[elf] Implement icf=safe.
...
Closes: https://github.com/rui314/mold/issues/484
Signed-off-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
2022-05-15 21:35:25 +09:00
Tatsuyuki Ishi
c9288c5b92
[elf] icf: explain.
...
Add comments to give more insights to the design of the algorithm and
optimizations.
Signed-off-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
2022-05-15 21:35:04 +09:00
Rui Ueyama
188f17524f
[Mach-O] Add a header and a stub cc file for LTO
2022-05-15 19:31:21 +08:00
Rui Ueyama
2b86786419
Move a file
2022-05-15 16:43:22 +08:00
Rui Ueyama
bcc8375958
Refactor
2022-05-14 17:47:42 +08:00
Rui Ueyama
f0bb588e32
Revert "[ELF][LTO] Restart the linker when get_symbols_v2 is called for the first time"
...
This reverts commit 38f2b965db
.
I'd like to wait for GCC to provide some way to identify whether
or not a given LTO plugin supports the v3 API.
2022-05-14 17:47:19 +08:00
Rui Ueyama
3cf8fc4b35
[Mach-O] Add -no_uuid and -uuid_random and -final_output
2022-05-14 15:51:42 +08:00
Rui Ueyama
64f0ba4a9a
Update README
2022-05-14 14:47:38 +08:00
Rui Ueyama
611fa3c7a4
Silence a -Wunused-result warning
2022-05-14 14:36:32 +08:00
Rui Ueyama
69d23bc10f
Update dependencies
2022-05-14 14:26:41 +08:00
Rui Ueyama
a6c3f3c082
Add more dependencies
2022-05-14 14:11:18 +08:00
Rui Ueyama
64b8168916
Fix tests for OpenSUSE Leap
...
Fixes https://github.com/rui314/mold/issues/515
2022-05-14 13:47:35 +08:00
Rui Ueyama
27409530d7
Add rules for OpenSUSE
2022-05-14 13:47:10 +08:00
Rui Ueyama
b1c0a13386
[ELF] Add --rosegment and --no-rosegment
...
Fixes https://github.com/rui314/mold/issues/514
2022-05-13 19:41:32 +08:00
Rui Ueyama
fcb3bedf0d
Refactor
2022-05-13 19:28:15 +08:00
Rui Ueyama
e68fdc396e
Refactor
2022-05-13 19:08:20 +08:00
Rui Ueyama
a98a19acfa
Refactor
2022-05-13 14:09:41 +08:00
Rui Ueyama
1a8ebf89db
Fix CI
2022-05-13 14:07:19 +08:00
Rui Ueyama
f086145fc4
Fix CI
2022-05-13 13:16:51 +08:00
Rui Ueyama
8cbcd9777f
[ELF] Support SHF_GNU_RETAIN
...
https://github.com/rui314/mold/issues/511
2022-05-13 13:09:16 +08:00
Rui Ueyama
2e47fe5815
Do not create a .gdb_index section if there's no debug info section
2022-05-13 11:45:32 +08:00
Rui Ueyama
61d19e65e2
Merge pull request #510 from llunak/no-gdb-index-abort
...
don't abort with --gdb-index if there's no .debug_info
2022-05-13 11:31:03 +08:00
Rui Ueyama
c64fc2ea6d
Add a rule for Gentoo Linux
2022-05-13 10:50:18 +08:00
Rui Ueyama
5b4c698a9c
Refactor
2022-05-12 20:47:12 +08:00
Rui Ueyama
7f3a05ad0f
[Mach-O] Add -hidden-l
2022-05-12 20:15:26 +08:00
Rui Ueyama
a5c7c98af8
[Mach-O] Add -stack_size
2022-05-12 19:07:04 +08:00
Rui Ueyama
00148f4d5e
[Mach-O] Add -install_name
2022-05-12 18:55:56 +08:00
Rui Ueyama
9459b0f4f5
Refactor
2022-05-12 18:05:01 +08:00
Rui Ueyama
ee96875fcc
[Mach-O] Add -macos_version_min
2022-05-12 17:48:14 +08:00
Rui Ueyama
4bc287ff48
[Mach-O] Add -search_paths_first and -search_dylibs_first
2022-05-12 16:49:10 +08:00
Luboš Luňák
73a9b6ec7d
don't abort with --gdb-index if there's no .debug_info
...
This is an unusual scenario, but it can happen on Arch Linux, where
apparently even crt1.o has no .debug_info . So if one for whatever
reason omits -g for all compilations and then uses --gdb-index,
mold aborts.
Signed-off-by: Luboš Luňák <l.lunak@centrum.cz>
2022-05-12 10:37:29 +02:00
Rui Ueyama
5cf365b4f5
Refactor
2022-05-12 16:34:29 +08:00
Rui Ueyama
5a239ef4b2
[Mach-O] Fix ARM64_RELOC_ADDEND and PAGEOFF relocs
...
With this fix, mold can now link git and successfully run all
git test suites.
2022-05-12 14:28:04 +08:00
Rui Ueyama
344c027a91
Refactor
2022-05-12 09:35:50 +08:00
Rui Ueyama
c1409d95a4
Refactor
2022-05-12 09:30:02 +08:00
Rui Ueyama
adb1ee4c0a
Refactor
2022-05-11 20:17:47 +08:00
Rui Ueyama
5e389f99d4
Use mold to build mold
2022-05-11 17:34:36 +08:00
Rui Ueyama
c054e3d197
Fix CI
2022-05-11 17:23:29 +08:00