1
1
mirror of https://github.com/rui314/mold.git synced 2024-09-21 09:57:18 +03:00
Commit Graph

358 Commits

Author SHA1 Message Date
Rui Ueyama
f64446c06f [Mach-O] wip 2021-10-12 22:30:49 +09:00
Rui Ueyama
d8d733d211 [Mach-O] wip 2021-10-12 18:58:51 +09:00
Rui Ueyama
81581a475d [Mach-O] wip 2021-10-12 18:33:41 +09:00
Rui Ueyama
8124a07e07 [Mach-O] wip 2021-10-12 18:33:41 +09:00
Rui Ueyama
d72c1bf62c [Mach-O] wip 2021-10-12 18:33:41 +09:00
Rui Ueyama
34485cc1ec [Mach-O] wip 2021-10-12 18:33:41 +09:00
Rui Ueyama
8097c09c85 [Mach-O] wip 2021-10-12 18:33:41 +09:00
Rui Ueyama
a89c7e528f [Mach-O] wip 2021-10-12 18:33:41 +09:00
Rui Ueyama
8639fc8a9b [Mach-O] wip 2021-10-12 18:33:41 +09:00
Rui Ueyama
031de0df32 [Mach-O] wip 2021-10-12 18:33:41 +09:00
Rui Ueyama
43f2e46f34 [Mach-O] wip 2021-10-12 18:33:41 +09:00
Rui Ueyama
bb67c78df8 [Mach-O] wip 2021-10-12 18:33:41 +09:00
Rui Ueyama
a0a162a48c [Mach-O] wip 2021-10-12 18:33:41 +09:00
Rui Ueyama
d176ed8fbb [Mach-O] wip 2021-10-12 18:33:41 +09:00
Rui Ueyama
96b07d875d [Mach-O] wip 2021-10-12 18:33:41 +09:00
Rui Ueyama
c1c8270e45 [Mach-O] wip 2021-10-12 18:33:41 +09:00
Rui Ueyama
e942f5e28e Fix build failure 2021-10-08 20:38:30 +09:00
Rui Ueyama
038f42a579 [Mach-O] wip 2021-10-08 20:24:39 +09:00
Rui Ueyama
69ce692671 [Mach-O] wip 2021-10-08 18:39:48 +09:00
Rui Ueyama
d76c6966b0 [Mach-O] wip 2021-10-08 16:55:33 +09:00
Rui Ueyama
f7d3fda88a [Mach-O] wip 2021-10-08 16:52:42 +09:00
Rui Ueyama
8ecb117997 [Mach-O] wip 2021-10-07 22:05:49 +09:00
Rui Ueyama
0b5b5dbcf5 [Mach-O] wip 2021-10-07 20:27:53 +09:00
Rui Ueyama
071c74acb3 [Mach-O] wip 2021-10-07 20:01:46 +09:00
Rui Ueyama
86c8b77dd6 [Mach-O] wip 2021-10-07 19:17:18 +09:00
Rui Ueyama
91ec5ae972 [Mach-O] wip 2021-10-07 18:12:38 +09:00
Rui Ueyama
14cadf44ac [Mach-O] wip 2021-10-07 18:01:00 +09:00
Rui Ueyama
a414c03bf3 [Mach-O] wip 2021-10-07 17:52:17 +09:00
Rui Ueyama
f49265c788 [Mach-O] Take stub address into symbol address computation 2021-10-06 20:29:08 +09:00
Rui Ueyama
510ec4b003 [Mach-O] Copy __cstring section from input to output 2021-10-06 17:24:51 +09:00
Rui Ueyama
45788bd8ad [Mach-O] wip 2021-10-06 17:16:02 +09:00
Rui Ueyama
e2d7cd7b03 [Mach-O] wip 2021-10-06 16:53:20 +09:00
Rui Ueyama
627fbc3ec0 [Mach-O] wip 2021-10-06 16:41:18 +09:00
Rui Ueyama
3c513a31cc [Mach-O] Apply relocations 2021-10-06 14:33:01 +09:00
Rui Ueyama
7fc365a657 [Mach-O] wip 2021-10-06 13:43:41 +09:00
Rui Ueyama
dc9cfc4f41 [Mach-O] wip 2021-10-05 22:17:14 +09:00
Rui Ueyama
e36cf0271f [Mach-O] wip 2021-10-05 20:14:28 +09:00
Rui Ueyama
46c20da35e [Mach-O] wip 2021-10-05 20:02:41 +09:00
Rui Ueyama
27e52a430b [Mach-O] wip 2021-10-05 19:39:39 +09:00
Rui Ueyama
46d3e12946 [Mach-O] wip 2021-10-05 19:26:15 +09:00
Rui Ueyama
a861f192ec [Mach-O] wip 2021-10-05 19:17:57 +09:00
Rui Ueyama
bd259a795f [Mach-O] wip 2021-10-05 16:00:45 +09:00
Rui Ueyama
2da5057d58 [Mach-O] wip 2021-10-05 12:59:22 +09:00
Rui Ueyama
d111361a1f [Mach-O] wip 2021-10-05 12:59:18 +09:00
Rui Ueyama
46868805e2 [Mach-O] wip 2021-10-05 11:40:33 +09:00
Rui Ueyama
e1e603f633 [Mach-O] wip 2021-10-05 11:40:33 +09:00
Rui Ueyama
0a130212cb [Mach-O] wip 2021-10-05 11:40:33 +09:00
Rui Ueyama
7dd9a38b3b [Mach-O] wip 2021-10-05 11:40:32 +09:00
Rui Ueyama
e7f3e94f30 [Mach-O] wip 2021-10-05 11:40:32 +09:00
Rui Ueyama
2dc8ac0bdd [Mach-O] wip 2021-10-05 11:40:32 +09:00
Rui Ueyama
4932daadba [Mach-O] wip 2021-10-05 11:40:32 +09:00
Rui Ueyama
74244c3c9c [Mach-O] wip 2021-10-05 11:40:32 +09:00
Rui Ueyama
8965de697b [Mach-O] wip 2021-10-05 11:40:32 +09:00
Rui Ueyama
89d5e9e3b4 [Mach-O] wip 2021-10-05 11:40:32 +09:00
Rui Ueyama
fd62bbfacb [Mach-O] wip 2021-10-05 11:40:32 +09:00
Rui Ueyama
e6edf2002d [Mach-O] wip 2021-10-05 11:40:32 +09:00
Rui Ueyama
f68e301c30 [Mach-O] wip 2021-10-05 11:40:32 +09:00
Rui Ueyama
745792b34d [Mach-O] wip 2021-10-05 11:40:32 +09:00
Rui Ueyama
7933e44493 [Mach-O] wip 2021-10-05 11:40:32 +09:00
Rui Ueyama
840d19bb5e [Mach-O] Add -o option 2021-10-05 11:40:32 +09:00
Rui Ueyama
de1db98cde Split mold.h into multiple headers 2021-10-05 11:24:48 +09:00
Rui Ueyama
0c42930d55 [Mach-O] Add -o option 2021-10-03 18:17:59 +09:00
Rui Ueyama
0426ec6d2f [Mach-O] Simplify 2021-10-03 12:01:17 +09:00
Rui Ueyama
19b1b0252c [Mach-O] Dump export table entries 2021-10-02 17:48:52 +09:00
Rui Ueyama
4a65748851 [Mach-O] Refactor 2021-10-02 14:02:42 +09:00
Rui Ueyama
d11ecda08c [Mach-O] wip 2021-09-23 14:38:37 +09:00
Rui Ueyama
326831837d [Mach-O] wip 2021-09-23 14:31:04 +09:00
Rui Ueyama
bdd458241b [Mach-O] wip 2021-09-21 21:48:32 +09:00
Rui Ueyama
fc2ee0d0b0 [Mach-O] wip 2021-09-21 19:32:48 +09:00
Rui Ueyama
c002284cd8 [Mach-O] wip 2021-09-21 19:11:34 +09:00
Rui Ueyama
56fb6ba443 [Mach-O] wip 2021-09-21 18:56:31 +09:00
Rui Ueyama
c66bd302bd [Mach-O] Programmatically construct __stubs, __stub_helper and __la_symbol_ptr 2021-09-21 17:19:44 +09:00
Rui Ueyama
17c67418f6 [Mach-O] wip 2021-09-21 17:16:42 +09:00
Rui Ueyama
935194d5ae [Mach-O] wip 2021-09-21 15:57:23 +09:00
Rui Ueyama
02ce171aba [Mach-O] wip 2021-09-21 14:53:38 +09:00
Rui Ueyama
a52179d090 [Mach-O] wip 2021-09-21 14:51:29 +09:00
Rui Ueyama
1390a7f622 [Mach-O] wip 2021-09-21 14:47:09 +09:00
Rui Ueyama
a05d073018 [Mach-O] wip 2021-09-21 14:32:54 +09:00
Rui Ueyama
c0daab6075 [Mach-O] wip 2021-09-21 12:55:09 +09:00
Rui Ueyama
18fb0d5d3f [Mach-O] Programmatically construct symtab 2021-09-20 22:04:41 +09:00
Rui Ueyama
5f5139ad6c [Mach-O] wip 2021-09-20 19:41:03 +09:00
Rui Ueyama
046324b64c Simplify 2021-09-20 17:59:37 +09:00
Rui Ueyama
48c16571d1 Simplify 2021-09-20 17:27:23 +09:00
Rui Ueyama
1127061d54 Simplify 2021-09-20 16:36:50 +09:00
Rui Ueyama
fa2f54b358 Fix indentation 2021-09-20 16:31:33 +09:00
Rui Ueyama
afbc46e135 Simplify 2021-09-20 12:39:34 +09:00
Rui Ueyama
e3cebd981e [Mach-O] wip 2021-09-19 20:28:45 +09:00
Rui Ueyama
9881a61cb3 [Mach-O] Programmatically construct export trie 2021-09-19 20:18:34 +09:00
Rui Ueyama
43e513d7af [Mach-O] wip 2021-09-19 19:17:12 +09:00
Rui Ueyama
08f049434f [Mach-O] wip 2021-09-19 16:21:08 +09:00
Rui Ueyama
a71f70708c [Mach-O] wip 2021-09-19 14:35:45 +09:00
Rui Ueyama
7f671f5390 [Mach-O] Programmatically construct lazy bind instructions 2021-09-19 14:13:01 +09:00
Rui Ueyama
d84b813cb3 [Mach-O] Programmatically construct bind instructions 2021-09-19 13:37:56 +09:00
Rui Ueyama
fabd425f67 [Mach-O] Simplify 2021-09-19 12:13:54 +09:00
Rui Ueyama
fbf3a1a24e [Mach-O] Programmatically construct rebase instructions 2021-09-19 12:01:03 +09:00
Rui Ueyama
76874d84ba [Mach-O] Output "hello world" program
With this change, ld64.mold is able to emit a "hello world" program.

  $ ./ld64.mold -out hello
  $ ./hello
  Hello world
2021-09-18 20:57:05 +09:00
Rui Ueyama
ded5d5e6a1 [Mach-O] wip 2021-09-18 20:57:03 +09:00
Rui Ueyama
2d5e6888f9 [Mach-O] wip 2021-09-18 20:57:01 +09:00
Rui Ueyama
3a503ce2cc [Mach-O] wip 2021-09-18 20:56:59 +09:00
Rui Ueyama
1f3f019a59 [Mach-O] wip 2021-09-18 20:56:55 +09:00
Rui Ueyama
f55fc5f082 [Mach-O] wip 2021-09-18 20:56:51 +09:00
Rui Ueyama
fb0b316c81 [Mach-O] wip 2021-09-18 17:38:34 +09:00
Rui Ueyama
1ebfc28aea [Mach-O] wip 2021-09-18 17:25:59 +09:00
Rui Ueyama
da5effd52d [Mach-O] wip 2021-09-18 16:56:00 +09:00
Rui Ueyama
e8aa31cd8b [Mach-O] wip 2021-09-18 15:05:46 +09:00
Rui Ueyama
c7243f6c5c [Mach-O] wip 2021-09-18 14:38:23 +09:00
Rui Ueyama
2500ae7e27 [Mach-O] wip 2021-09-18 12:35:27 +09:00
Rui Ueyama
5af8995471 [Mach-O] wip 2021-09-18 12:27:17 +09:00
Rui Ueyama
aa5061d784 [Mach-O] wip 2021-09-18 11:42:48 +09:00
Rui Ueyama
4b79c858dd [Mach-O] wip 2021-09-18 11:40:38 +09:00
Rui Ueyama
d2aec43b66 [Mach-O] wip 2021-09-17 22:40:21 +09:00
Rui Ueyama
76b767df4b [Mach-O] wip 2021-09-17 22:01:00 +09:00
Rui Ueyama
1dc41ab2d0 [Mach-O] wip 2021-09-17 21:57:34 +09:00
Rui Ueyama
c6d3370f07 [Mach-O] wip 2021-09-17 20:47:53 +09:00
Rui Ueyama
40a689011e [Mach-O] wip 2021-09-17 20:43:49 +09:00
Rui Ueyama
03d73f2e9e [Mach-O] wip 2021-09-17 20:32:29 +09:00
Rui Ueyama
142a9c2703 [Mach-O] wip 2021-09-17 20:13:37 +09:00
Rui Ueyama
49233b1ef6 [Mach-O] wip 2021-09-17 18:03:44 +09:00
Rui Ueyama
958d79fa6b [Mach-O] wip 2021-09-17 15:19:00 +09:00
Rui Ueyama
079900fa84 [Mach-O] wip 2021-09-17 13:54:40 +09:00
Rui Ueyama
211bc1810b [Mach-O] wip 2021-09-16 22:23:18 +09:00
Rui Ueyama
0d60940b40 [Mach-O] wip 2021-09-16 22:12:51 +09:00
Rui Ueyama
1e3aff2d71 [Mach-O] wip 2021-09-16 20:02:24 +09:00
Rui Ueyama
7bab3aa994 [Mach-O] wip 2021-09-16 19:26:49 +09:00
Rui Ueyama
bfdf9ecf7b [Mach-O] wip 2021-09-16 18:13:59 +09:00
Rui Ueyama
4933af3550 [Mach-O] wip 2021-09-16 17:59:32 +09:00
Rui Ueyama
474dc4a123 [Mach-O] wip 2021-09-16 17:40:14 +09:00
Rui Ueyama
aea0022c5c [Mach-O] wip 2021-09-16 17:19:54 +09:00
Rui Ueyama
a1ec749dfe [Mach-O] wip 2021-09-16 16:54:14 +09:00
Rui Ueyama
6b477e37ca [Mach-O] wip 2021-09-16 16:21:18 +09:00
Rui Ueyama
28092ffe9d [Mach-O] wip 2021-09-16 15:29:30 +09:00
Rui Ueyama
5e83481ffb [Mach-O] wip 2021-09-16 14:49:50 +09:00
Rui Ueyama
7232178513 [Mach-O] wip 2021-09-16 14:20:38 +09:00
Rui Ueyama
aaf04a515b [Mach-O] wip 2021-09-16 12:25:05 +09:00
Rui Ueyama
5ea876ff2f [Mach-O] wip 2021-09-15 21:00:34 +09:00
Rui Ueyama
2fedb900d3 [Mach-O] wip 2021-09-15 17:32:13 +09:00
Rui Ueyama
cae5a93c7e [Mach-O] wip 2021-09-15 12:40:27 +09:00
Rui Ueyama
955f35e977 [Mach-O] wip 2021-09-14 19:45:51 +09:00
Rui Ueyama
a504ef9ba7 [Mach-O] wip 2021-09-14 18:45:23 +09:00
Rui Ueyama
dcc3cbf1b1 [Mach-O] wip 2021-09-14 17:11:49 +09:00
Rui Ueyama
6aed43b89c [Mach-O] wip 2021-09-14 16:23:03 +09:00
Rui Ueyama
8035024531 [Mach-O] wip 2021-09-14 16:02:41 +09:00
Rui Ueyama
90380ed232 [Mach-O] wip 2021-09-14 15:57:22 +09:00
Rui Ueyama
568bba75c6 [Mach-O] wip 2021-09-14 15:28:28 +09:00
Rui Ueyama
f81c869d8f [Mach-O] wip 2021-09-14 15:27:36 +09:00
Rui Ueyama
f546e7e696 [Mach-O] wip 2021-09-14 13:12:43 +09:00
Rui Ueyama
730e030994 [Mach-O] wip 2021-09-13 22:40:10 +09:00
Rui Ueyama
2e24055f5c [Mach-O] wip 2021-09-13 21:59:20 +09:00
Rui Ueyama
e9caa18ff9 [Mach-O] wip 2021-09-13 21:26:51 +09:00
Rui Ueyama
93bc0cf38a [Mach-O] wip 2021-09-13 20:48:46 +09:00
Rui Ueyama
1fe9055055 [Mach-O] wip 2021-09-13 20:28:06 +09:00
Rui Ueyama
79f2b2bbdc [Mach-O] wip 2021-09-13 19:30:41 +09:00
Rui Ueyama
fbc2ea478e [Mach-O] wip 2021-09-13 19:18:04 +09:00
Rui Ueyama
7ffc3a4545 [Mach-O] Add a feature to dump an executable
This is not a linker feature, but in order to learn how Mach-O
executables are constructed, I'll implement a dump feature.
I'll remove the feature once I understand the structure of Mach-O
binaries.
2021-09-13 18:16:13 +09:00
Rui Ueyama
68ff4a8408 Rename functions 2021-09-08 20:15:03 +09:00
Rui Ueyama
78bddacd5b Move target-independent files to the top directory 2021-09-08 19:49:51 +09:00
Rui Ueyama
8f10ac5047 [Mach-O] Add a test for mach-o stub 2021-09-08 19:19:07 +09:00
Rui Ueyama
cab0ccf0bd [Mach-O] Add a stub for Mach-O 2021-09-08 19:03:07 +09:00