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
Rui Ueyama
53fd03e115
Fix a bug found by AddressSanitizer
2022-05-11 16:36:40 +08:00
Rui Ueyama
99155920af
Remove unnecessary dependency
2022-05-11 15:54:09 +08:00
Rui Ueyama
05acf9da2c
Add test-asan, test-tsan and test-ubsan targets
2022-05-11 15:51:44 +08:00
Rui Ueyama
4ef90d4316
Do not use pkg-config
...
We are not using pkg-config for zlib, so I think we can live without
it for libcrypto too.
2022-05-11 15:32:51 +08:00
Rui Ueyama
4d61d462ef
Refactor
2022-05-11 10:55:51 +08:00
Rui Ueyama
d68c7eb5e4
Refactor
2022-05-11 10:32:30 +08:00
Rui Ueyama
3c284f09ab
[ELF] Skip a failing test on RV64
...
https://github.com/rui314/mold/issues/503
2022-05-10 22:20:28 +08:00
Rui Ueyama
f59bd5ea23
[ELF] Fix an unsafe memory access
...
Fixes https://github.com/rui314/mold/issues/506
2022-05-10 21:42:12 +08:00
Rui Ueyama
b6e9c6da66
[Mach-O] Add -U
2022-05-10 20:02:48 +08:00
Rui Ueyama
f8296ba0fc
Disable a few tests for RV64
...
Fixes https://github.com/rui314/mold/issues/503
2022-05-10 19:23:33 +08:00
Rui Ueyama
90e0228601
Refactor
2022-05-10 17:19:31 +08:00
Rui Ueyama
15eb278ab1
Refactor
2022-05-10 16:35:36 +08:00