1
1
mirror of https://github.com/rui314/mold.git synced 2024-09-20 17:39:56 +03:00
Commit Graph

4253 Commits

Author SHA1 Message Date
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