1
1
mirror of https://github.com/rui314/mold.git synced 2024-10-04 16:48:04 +03:00
Commit Graph

385 Commits

Author SHA1 Message Date
Rui Ueyama
8dd0accc89 Do not exit immediately on --version 2021-05-23 18:22:20 +09:00
Rui Ueyama
3fab4ce3d2 Add missing dependencies 2021-05-23 16:20:55 +09:00
Rui Ueyama
a0a94f4637 Add -wrap option 2021-05-22 01:54:08 +09:00
Rui Ueyama
b9ab55dfa7 Add --image-base 2021-05-21 18:37:38 +09:00
Rui Ueyama
99abd52d6e Fix a broken test 2021-05-21 12:43:34 +09:00
Rui Ueyama
02e6c6ab5d Make -run to intercept not only ld but also ld.lld and ld.gold 2021-05-20 14:14:35 +09:00
Rui Ueyama
968cfd0dcd Simplify 2021-05-19 10:24:39 +09:00
Rui Ueyama
ad6aa32b41 Handle mold -run /usr/bin/ld 2021-05-14 22:55:04 +09:00
Rui Ueyama
76b0afc6b7 Add --omagic 2021-05-10 19:21:29 +09:00
Rui Ueyama
6014faec2a Add -V option 2021-05-10 16:53:16 +09:00
Rui Ueyama
4a3480e1af readlink() doesn't terminate a string with NUL 2021-05-10 16:40:51 +09:00
Rui Ueyama
ccd27807aa Do not add unreferenced DSO symbols to .dynsym 2021-05-10 15:50:25 +09:00
Rui Ueyama
033834a28e Add --help 2021-05-08 20:10:41 +09:00
Rui Ueyama
13003d2479 Add --compress-debug-sections 2021-05-06 17:20:07 +09:00
Rui Ueyama
ebe6cca2e6 Create a .repro section if MOLD_REPRO environment variable is set 2021-05-02 20:49:00 +09:00
Rui Ueyama
d11c383147 Replace --reproduce with --repro 2021-05-02 20:49:00 +09:00
Rui Ueyama
5ec4ffced4 Fix test 2021-05-01 19:34:49 +09:00
Rui Ueyama
7977909c0a Merge .note.gnu.property 2021-05-01 15:42:35 +09:00
Rui Ueyama
34462cf473 Emit UUIDv4 if --build-id=uuid is specified 2021-04-28 19:54:40 +09:00
Rui Ueyama
b1ca02b276 Handle - as stdout 2021-04-28 19:15:20 +09:00
Rui Ueyama
d28b6e0a52 Fix https://github.com/rui314/mold/issues/32 2021-04-24 14:27:50 +09:00
Rui Ueyama
8b0831c84c wip 2021-04-17 23:50:33 +09:00
Rui Ueyama
8a2691cfe5 Revert "Revert "wip""
This reverts commit ad85fbd02b.
2021-04-17 23:45:40 +09:00
Rui Ueyama
2e7bd43a23 wip 2021-04-17 22:49:19 +09:00
Rui Ueyama
ad85fbd02b Revert "wip"
This reverts commit fe9d2dd365.
2021-04-17 22:14:15 +09:00
Rui Ueyama
9cf193011f wip 2021-04-17 16:23:37 +09:00
Rui Ueyama
fe9d2dd365 wip 2021-04-17 15:11:05 +09:00
Rui Ueyama
fa91fb1e10 Handle R_386_TLS_GOTDESC and R_386_TLS_DESC_CALL 2021-04-14 15:01:52 +09:00
Rui Ueyama
9de278cf25 Handle R_386_TLS_GD, R_386_TLS_LDM and R_386_TLS_LDO_32 2021-04-13 22:25:11 +09:00
Rui Ueyama
f2232a1e7d wip 2021-04-12 02:45:33 +09:00
Rui Ueyama
09fc73a9f8 Add -spare-dynamic-tags 2021-04-11 15:43:23 +09:00
Rui Ueyama
8c4c17dc77 wip 2021-04-11 14:13:55 +09:00
Rui Ueyama
4da18565f5 wip 2021-04-11 14:01:00 +09:00
Rui Ueyama
f3ffb651fa wip 2021-04-11 13:16:11 +09:00
Rui Ueyama
019967d259 wip 2021-04-10 23:08:55 +09:00
Rui Ueyama
4418c93f49 Add -z lazy 2021-04-10 23:04:33 +09:00
Rui Ueyama
0a62c5c5c6 Add -z interpose 2021-04-10 18:18:56 +09:00
Rui Ueyama
ef01e7d7ee Add -z initfirst 2021-04-10 18:16:01 +09:00
Rui Ueyama
46d214cafa wip 2021-04-10 17:59:15 +09:00
Rui Ueyama
b7791b2a03 wip 2021-04-10 15:58:25 +09:00
Rui Ueyama
4dc0918a34 wip 2021-04-10 15:33:51 +09:00
Rui Ueyama
03c9344ba0 wip 2021-04-06 17:55:05 +09:00
Rui Ueyama
92725015a5 wip 2021-04-01 18:49:16 +09:00
Rui Ueyama
197e9fafd7 wip 2021-04-01 01:34:54 +09:00
Rui Ueyama
6da1e8c50c wip 2021-04-01 01:18:01 +09:00
Rui Ueyama
b55d68365a wip 2021-04-01 00:52:10 +09:00
Rui Ueyama
f9af6357df wip 2021-03-31 20:18:12 +09:00
Rui Ueyama
97f02b1eb3 wip 2021-03-31 20:13:36 +09:00
Rui Ueyama
c6cd07a2c5 Make "hello world" work for i386 2021-03-31 17:57:51 +09:00
Rui Ueyama
f9f0d90791 wip 2021-03-31 14:18:10 +09:00
Rui Ueyama
a3d2743a17 wip 2021-03-31 01:49:32 +09:00
Rui Ueyama
e6a4002c60 wip 2021-03-31 00:11:39 +09:00
Rui Ueyama
fe77f277d3 wip 2021-03-30 23:47:01 +09:00
Rui Ueyama
a7e826a936 Embed argv to .comment 2021-03-29 13:36:26 +09:00
Rui Ueyama
bb315af2aa Support extern "C++" in version script 2021-03-27 16:09:54 +09:00
Rui Ueyama
f13b7db5c4 Fix TPOFF32 relocation handling 2021-03-27 14:47:30 +09:00
Rui Ueyama
5a51e06fa1 Handle object files with lots of sections correctly 2021-03-27 09:12:52 +09:00
Rui Ueyama
907dd6a341 wip 2021-03-26 22:14:23 +09:00
Rui Ueyama
c224435187 wip 2021-03-26 15:52:57 +09:00
Rui Ueyama
f89e0aa367 wip 2021-03-25 18:15:53 +09:00
Rui Ueyama
60029b028f Place common symbols into .common section 2021-03-25 17:55:59 +09:00
Rui Ueyama
fe626ed878 wip 2021-03-25 12:38:40 +09:00
Rui Ueyama
6536f0af17 Add -fatal-warnings 2021-03-24 01:35:26 +09:00
Rui Ueyama
e7f1a86586 Output warning message to stderr 2021-03-24 01:23:53 +09:00
Rui Ueyama
4519f8660c Add -warn-common 2021-03-24 01:16:32 +09:00
Rui Ueyama
802f4229c2 Handle common symbols 2021-03-24 01:12:26 +09:00
Rui Ueyama
275a578204 Embed GIT commit hash to binary 2021-03-23 21:15:32 +09:00
Rui Ueyama
4485de811a Do not create a copy relcations against a protected symbol 2021-03-23 15:21:59 +09:00
Rui Ueyama
16cd35999f wip 2021-03-23 14:46:59 +09:00
Rui Ueyama
031e978bc6 Do not emit .got, .got.plt or .rela.got if empty 2021-03-23 11:02:13 +09:00
Rui Ueyama
f56215aae1 wip 2021-03-22 15:33:39 +09:00
Rui Ueyama
a1d8b56c04 Support GOT64, GOTPCREL64 and GOTPC64 relocations 2021-03-22 12:17:03 +09:00
Rui Ueyama
69afad0e29 Handle invalid sections in debug info sectionsy 2021-03-21 13:36:55 +09:00
Rui Ueyama
7d07b48c92 Support R_X86_64_SIZE32 and SIZE64 relocations 2021-03-20 12:35:51 +09:00
Rui Ueyama
1131ea7512 Add "-z nocopyreloc" 2021-03-18 19:54:56 +09:00
Rui Ueyama
b96155dafa Support TLSDESC 2021-03-18 16:43:47 +09:00
Rui Ueyama
614ddb309a Add a test 2021-03-17 22:56:04 +09:00
Rui Ueyama
726a3a59a6 wip 2021-03-17 22:04:17 +09:00
Rui Ueyama
bcfb96308f Support glob pattern in version script 2021-03-17 16:56:37 +09:00
Rui Ueyama
912b99b7ec wip 2021-03-16 12:52:39 +09:00
Rui Ueyama
5671de698b Relax indirect call or jump with GOTPCRELX relocation 2021-03-16 12:42:05 +09:00
Rui Ueyama
c3bbb2c094 Add -filter and -auxiliary 2021-03-16 00:34:09 +09:00
Rui Ueyama
4bdc20986f Relax R_X86_64_GOTPCRELX_REX against MOV instruction to LEA 2021-03-15 20:32:44 +09:00
Rui Ueyama
96075a3e2d wip 2021-03-14 16:36:56 +09:00
Rui Ueyama
b4dda46b2c Add "-z defs" and -no-undefined option 2021-03-13 21:46:09 +09:00
Rui Ueyama
9d52727cd4 Ignore .note.gnu.property for now 2021-03-13 21:29:02 +09:00
Rui Ueyama
be8a9fabc8 Include .dynamic into PT_GNU_RELRO 2021-03-13 13:21:31 +09:00
Rui Ueyama
7d1e40b79b Emit PTGNU_RELRO segment 2021-03-12 20:16:52 +09:00
Rui Ueyama
e8e14e4e0d Add -z execstack and -z noexecstack 2021-03-12 18:09:15 +09:00
Rui Ueyama
fefa083188 Add -push-state and -pop-state 2021-03-12 17:37:39 +09:00
Rui Ueyama
5f42971325 Do not hardcode Linux's ld.so path 2021-03-12 16:39:16 +09:00
Rui Ueyama
253c946629 wip 2021-03-12 14:33:50 +09:00
Rui Ueyama
c074f8ade6 wip 2021-03-11 17:20:59 +09:00
Rui Ueyama
5ae09ee9d3 Add -build-id=HEXVALUE 2021-03-08 21:05:18 +09:00
Rui Ueyama
b53392c2f7 Add -exclude-libs 2021-03-08 17:24:51 +09:00
Rui Ueyama
7acdcfbcb2 wip 2021-03-08 14:37:13 +09:00
Rui Ueyama
ddd42daf53 Write .gnu.version_d 2021-03-07 15:41:45 +09:00
Rui Ueyama
6a34935cc9 wip 2021-03-05 19:46:12 +09:00
Rui Ueyama
41f8cba844 Do not emit .interp for DSO 2021-03-05 13:57:00 +09:00
Rui Ueyama
791465b832 wip 2021-03-04 20:23:27 +09:00
Rui Ueyama
611910ad37 wip 2021-03-04 14:33:40 +09:00
Rui Ueyama
cc9c23e42b wip 2021-03-04 14:09:56 +09:00
Rui Ueyama
713c71ac1b wip 2021-03-02 22:57:15 +09:00
Rui Ueyama
453104c5b4 Add -Bsymbolic-functions 2021-03-02 22:08:06 +09:00
Rui Ueyama
bc0379ecd4 Add -Bsymbolic 2021-03-02 21:47:19 +09:00
Rui Ueyama
0d56ca6fc6 wip 2021-03-02 20:24:31 +09:00
Rui Ueyama
98db1741c4 Guarantee function pointer equivalence 2021-03-01 23:42:13 +09:00
Rui Ueyama
a3df45cb86 wip 2021-03-01 22:04:42 +09:00
Rui Ueyama
867305ea36 wip 2021-03-01 16:28:16 +09:00
Rui Ueyama
231112ba7b Add -v and --version 2021-03-01 14:13:17 +09:00
Rui Ueyama
ac8e24a683 Add -soname 2021-03-01 13:18:51 +09:00
Rui Ueyama
5d1e0c803c Add -init and -fini 2021-03-01 12:52:45 +09:00
Rui Ueyama
7f4da62ee9 Fix DT_INIT and DT_FINI 2021-03-01 12:45:13 +09:00
Rui Ueyama
e0eeb404dc Emit read-only copyrel to .bss.rel.ro 2021-02-28 23:26:24 +09:00
Rui Ueyama
c15957c02a Demangle by default 2021-02-28 21:11:51 +09:00
Rui Ueyama
12abde58e6 Add --script and -T 2021-02-28 15:24:36 +09:00
Rui Ueyama
d0c7c10ae0 wip 2021-02-28 01:04:26 +09:00
Rui Ueyama
99bbcb3614 wip 2021-02-28 00:56:29 +09:00
Rui Ueyama
ec3f54f544 Support compressed debug sections 2021-02-27 18:28:44 +09:00
Rui Ueyama
c8a931d89c wip 2021-02-26 22:09:04 +09:00
Rui Ueyama
a1bbbd3b1c Create .plt.got 2021-02-26 21:27:01 +09:00
Rui Ueyama
4c2bf53779 wip 2021-02-26 17:52:22 +09:00
Rui Ueyama
66307818ee Support -shared 2021-02-25 22:11:04 +09:00
Rui Ueyama
1d90a5ad5c wip 2021-02-25 20:46:43 +09:00
Rui Ueyama
f9ecf89b16 wip 2021-02-25 20:27:59 +09:00
Rui Ueyama
c118086d29 wip 2021-02-25 17:01:59 +09:00
Rui Ueyama
cd2205d994 wip 2021-02-22 21:39:12 +09:00
Rui Ueyama
09b4a8233f wip 2021-02-22 15:10:30 +09:00
Rui Ueyama
fd6de2d258 Add --undefined 2021-02-21 17:17:41 +09:00
Rui Ueyama
fc84d405c6 wip 2021-02-21 15:51:56 +09:00
Rui Ueyama
d8381f7e74 Export symbols from executables 2021-02-21 00:24:22 +09:00
Rui Ueyama
f3c66028b4 wip 2021-02-20 23:48:27 +09:00
Rui Ueyama
cc4c2e49e5 Fix -hash-style=gnu 2021-02-12 18:02:09 +09:00
Rui Ueyama
80e79114f7 wip 2021-02-10 14:21:41 +09:00
Rui Ueyama
4d40cf6888 Add -build-id={md5,sha1,sha256,uuid} 2021-01-26 20:03:30 +09:00
Rui Ueyama
c1627608fc Add --allow-multiple-definition 2021-01-26 19:12:16 +09:00
Rui Ueyama
4efb48d3ee Remove symbols referencing dead sections from symtab 2021-01-25 17:09:48 +09:00
Rui Ueyama
b1b253cacb wip 2021-01-25 13:16:27 +09:00
Rui Ueyama
1890feec8d wip 2021-01-25 13:16:26 +09:00
Rui Ueyama
3489a464c6 wip 2021-01-25 12:05:12 +09:00
Rui Ueyama
6ec9cb9bfd wip 2021-01-24 21:15:59 +09:00
Rui Ueyama
1bbd8fdddc Implement --gc-sections 2021-01-24 19:47:34 +09:00
Rui Ueyama
532cb962db temporary 2021-01-21 09:58:46 +09:00
Rui Ueyama
198c4e279d temporary 2021-01-20 21:08:37 +09:00
Rui Ueyama
7e1fb026f7 Add PT_NOTE 2021-01-16 15:16:05 +09:00
Rui Ueyama
183f72e067 temporary 2021-01-14 16:25:54 +09:00
Rui Ueyama
0c6fa7236b temporary 2021-01-14 15:13:03 +09:00
Rui Ueyama
cf85630b5d temporary 2021-01-14 14:08:34 +09:00
Rui Ueyama
a7b2f1d328 temporary 2021-01-10 17:39:14 +09:00
Rui Ueyama
36825fe3fe Check for relocation overflow 2021-01-08 21:08:55 +09:00
Rui Ueyama
8a692c7fc6 temporary 2020-12-22 16:33:44 +09:00
Rui Ueyama
ed93e6c6e4 Support response files 2020-12-20 16:17:34 +09:00
Rui Ueyama
8b55a0ebff Add --strip-all 2020-12-20 10:27:01 +09:00
Rui Ueyama
0bbc34ed9e Add --discard-all 2020-12-20 10:20:24 +09:00
Rui Ueyama
221804a046 Revert "Paralell file open"
This reverts commit df8eda9d81.
2020-12-19 18:31:46 +09:00
Rui Ueyama
df8eda9d81 Paralell file open 2020-12-19 18:31:37 +09:00
Rui Ueyama
9b66ca02a7 temporary 2020-12-18 15:13:29 +09:00
Rui Ueyama
4f4d903b41 temporary 2020-12-17 20:22:14 +09:00
Rui Ueyama
0fb22932d5 temporary 2020-12-17 08:01:43 +09:00
Rui Ueyama
cb5d50d22c temporary 2020-12-14 10:41:51 +09:00
Rui Ueyama
695f4da80a temporary 2020-12-13 22:42:20 +09:00
Rui Ueyama
d322939443 temporary 2020-12-13 18:46:07 +09:00
Rui Ueyama
f4e260fdee temporary 2020-12-13 18:32:42 +09:00
Rui Ueyama
7b7b9d7f6b temporary 2020-12-12 12:30:22 +09:00
Rui Ueyama
cf22ce3f9a temporary 2020-12-11 22:15:42 +09:00
Rui Ueyama
40c254507b temporary 2020-12-07 16:19:56 +09:00
Rui Ueyama
d4322df01a temporary 2020-12-07 16:12:19 +09:00
Rui Ueyama
8b2493b3a9 temporary 2020-12-07 15:50:13 +09:00
Rui Ueyama
e99ce26374 temporary 2020-12-07 15:22:19 +09:00
Rui Ueyama
4d0608d4ca rpath 2020-11-30 17:57:58 +09:00
Rui Ueyama
c20b6622a6 as-needed 2020-11-30 16:43:47 +09:00
Rui Ueyama
4f681d9f8f temporary 2020-11-29 16:37:14 +09:00
Rui Ueyama
e6825f54c2 temporary 2020-11-29 16:25:31 +09:00
Rui Ueyama
5d625b1ba0 temporary 2020-11-29 13:23:57 +09:00
Rui Ueyama
0fd08fef83 temporary 2020-11-27 15:31:20 +09:00
Rui Ueyama
56b01e0bb9 temporary 2020-11-26 19:09:47 +09:00
Rui Ueyama
cd160271d8 temporary 2020-11-25 21:12:00 +09:00
Rui Ueyama
f053716009 DSO symbol aliases 2020-11-25 20:55:25 +09:00
Rui Ueyama
278f93d26f temporary 2020-11-25 20:18:19 +09:00
Rui Ueyama
d6716b17b2 temporary 2020-11-25 19:07:52 +09:00
Rui Ueyama
a61911b3d2 temporary 2020-11-25 16:23:40 +09:00
Rui Ueyama
caa9fcd8cb temporary 2020-11-25 13:52:31 +09:00
Rui Ueyama
e17619b960 temporary 2020-11-25 13:29:05 +09:00
Rui Ueyama
e8fceef0e8 temporary 2020-11-24 22:54:21 +09:00
Rui Ueyama
5d390a214a temporary 2020-11-24 21:21:34 +09:00
Rui Ueyama
e5327481cf temporary 2020-11-21 11:58:40 +09:00
Rui Ueyama
73ec145d65 temporary 2020-11-20 19:38:41 +09:00
Rui Ueyama
49074602c2 temporary 2020-11-20 15:35:47 +09:00
Rui Ueyama
5e14f2394f temporary 2020-11-20 14:53:52 +09:00
Rui Ueyama
a5bf19ee06 temporary 2020-11-20 10:09:40 +09:00
Rui Ueyama
6511d0965f temporary 2020-11-19 18:03:26 +09:00
Rui Ueyama
8f5ec2b5ca temporary 2020-11-19 14:09:30 +09:00
Rui Ueyama
fde6b02df6 Add linker_script.cc 2020-11-19 09:31:42 +09:00
Rui Ueyama
ad83dcbe02 temporary 2020-11-18 22:52:08 +09:00
Rui Ueyama
c4612a04e2 temporary 2020-11-18 22:31:02 +09:00
Rui Ueyama
ad9c3e598b temporary 2020-11-18 21:59:03 +09:00
Rui Ueyama
75b5e61af6 Dyanmically-linked "hello world" program worked 2020-11-16 13:50:17 +09:00
Rui Ueyama
9153cb7546 temporary 2020-11-16 13:37:13 +09:00
Rui Ueyama
242d042c20 temporary 2020-11-16 11:48:28 +09:00
Rui Ueyama
7b1791fdb0 temporary 2020-11-15 17:01:52 +09:00