Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add loongarch64 #1

Draft
wants to merge 193 commits into
base: master
Choose a base branch
from
Draft
Changes from 1 commit
Commits
Show all changes
193 commits
Select commit Hold shift + click to select a range
38144f6
Add some loongarch64 support.
yxd-ym Jan 26, 2024
e6befed
Add types.
yxd-ym Jan 26, 2024
efc0505
Add type.
yxd-ym Jan 26, 2024
2cb61a4
Add types.
yxd-ym Jan 26, 2024
5010de2
Add types.
yxd-ym Jan 26, 2024
03184a4
Add types.
yxd-ym Jan 26, 2024
08d5d99
Add types.
yxd-ym Jan 26, 2024
3d61862
Add types.
yxd-ym Jan 26, 2024
7455a4c
Fix syscalls.
yxd-ym Jan 26, 2024
24f5f09
Init llvm.
yxd-ym Jan 29, 2024
0b868e1
Add extern declaration.
yxd-ym Jan 29, 2024
e2b28de
Add clone.
yxd-ym Jan 29, 2024
d792fbe
Fix clone.
yxd-ym Jan 29, 2024
3219a80
Fix clone.
yxd-ym Jan 29, 2024
45747e3
Fix clone.
yxd-ym Jan 29, 2024
9e73d47
Fix clone.
yxd-ym Jan 29, 2024
f9c7899
Fix clone.
yxd-ym Jan 29, 2024
fd4aa46
Fix clone.
yxd-ym Jan 29, 2024
de6668c
Add start stub.
yxd-ym Jan 29, 2024
e8c4ac5
Add clone.
yxd-ym Jan 29, 2024
8cd1b4a
Add restore.
yxd-ym Jan 29, 2024
7de8237
Add elf symndx.
yxd-ym Jan 29, 2024
3997710
Add freeAndExit.
yxd-ym Jan 29, 2024
ecaaf1f
Fix fstat.
yxd-ym Jan 30, 2024
4a3b76b
Fix fstat.
yxd-ym Jan 30, 2024
1fa32e0
Add tls.
yxd-ym Jan 30, 2024
6ae607f
Fix exit.
yxd-ym Jan 30, 2024
da7e0b8
Fix exit.
yxd-ym Jan 30, 2024
e944504
Fix typo.
yxd-ym Jan 30, 2024
edb3102
Fix register.
yxd-ym Jan 30, 2024
6c85401
Fix assmebly.
yxd-ym Jan 30, 2024
c5a747f
Fix assembly.
yxd-ym Jan 30, 2024
13594a8
Fix assembly.
yxd-ym Jan 30, 2024
176f02e
Fix assembly.
yxd-ym Jan 30, 2024
98d93e7
Fix assembly.
yxd-ym Jan 30, 2024
638f090
Fix assembly.
yxd-ym Jan 30, 2024
5b0760a
Fix input.
yxd-ym Jan 30, 2024
6ab2392
Fix output.
yxd-ym Jan 30, 2024
034a278
Fix assembly.
yxd-ym Jan 30, 2024
5c39917
Fix assembly.
yxd-ym Jan 30, 2024
c5f104c
Fix assembly.
yxd-ym Jan 30, 2024
7e65c23
Fix assembly.
yxd-ym Jan 30, 2024
cf343ec
Fix assembly.
yxd-ym Jan 30, 2024
112ea59
Fix assembly.
yxd-ym Jan 30, 2024
5497112
Fix assembly.
yxd-ym Jan 30, 2024
30d3644
Fix assembly.
yxd-ym Jan 30, 2024
6a76eb0
Fix assembly.
yxd-ym Jan 30, 2024
ad103c7
Fix assembly.
yxd-ym Jan 30, 2024
324d3f5
Fix assembly.
yxd-ym Jan 30, 2024
80ad734
Fix assembly.
yxd-ym Jan 30, 2024
770100f
Fix assembly.
yxd-ym Jan 30, 2024
cab2f02
Fix error.
yxd-ym Jan 30, 2024
5247295
Fix error.
yxd-ym Jan 31, 2024
503e0cd
Fix error.
yxd-ym Jan 31, 2024
9996a9e
Fix error.
yxd-ym Jan 31, 2024
9e5e684
Fix error.
yxd-ym Jan 31, 2024
b15f6c8
Fix error.
yxd-ym Jan 31, 2024
5497c02
Fix error.
yxd-ym Jan 31, 2024
346ecdd
Fix assembly.
yxd-ym Jan 31, 2024
b9bc1f4
Remove fixme.
yxd-ym Jan 31, 2024
e8661db
Fix clone.
yxd-ym Jan 31, 2024
cedd745
Use other temp register.
yxd-ym Jan 31, 2024
3cf2e08
Fix thread.
yxd-ym Jan 31, 2024
c27e9f8
Fix thread.
yxd-ym Jan 31, 2024
db840b5
Fix start.
yxd-ym Jan 31, 2024
71445ed
Fix fstat.
yxd-ym Jan 31, 2024
2df1df5
Fix fstat.
yxd-ym Jan 31, 2024
c982456
Fix syscall.
yxd-ym Jan 31, 2024
e17e648
Fix syscall.
yxd-ym Jan 31, 2024
d96d268
Fix syscall.
yxd-ym Jan 31, 2024
d574837
Fix register name.
yxd-ym Jan 31, 2024
bb6bb36
Fix registers.
yxd-ym Jan 31, 2024
5e45292
Add page size.
yxd-ym Jan 31, 2024
c7a4c17
Fix builtin.
yxd-ym Jan 31, 2024
df38980
Do not use C.
yxd-ym Jan 31, 2024
5f9b616
Add comment.
yxd-ym Jan 31, 2024
1db6b63
Fix fstat.
yxd-ym Feb 1, 2024
83bee7f
Fix decorator.
yxd-ym Feb 1, 2024
6798452
Fix param.
yxd-ym Feb 1, 2024
0945af0
Fix var.
yxd-ym Feb 1, 2024
ae9e348
Return 0.
yxd-ym Feb 1, 2024
e60ea6d
Fix type casting.
yxd-ym Feb 1, 2024
975d726
Fix type convert.
yxd-ym Feb 1, 2024
4597f67
Add layout.
yxd-ym Feb 1, 2024
7e4203a
Add supported libc.
yxd-ym Feb 1, 2024
1f182bd
Add PIE.
yxd-ym Feb 1, 2024
b01e86b
Fix coff.
yxd-ym Feb 2, 2024
8e4f339
Fix dyn linker.
yxd-ym Feb 2, 2024
8f08895
Add qemu.
yxd-ym Feb 2, 2024
04dd717
Add ld m option.
yxd-ym Feb 2, 2024
d8129a3
Fix type.
yxd-ym Feb 2, 2024
d9a0a8a
Fix type conversion.
yxd-ym Feb 2, 2024
06a8da0
Fix init.
yxd-ym Feb 2, 2024
52c73e1
Fix decl.
yxd-ym Feb 2, 2024
83579d4
Try to fix target.
yxd-ym Feb 2, 2024
6451361
Revert "Try to fix target."
yxd-ym Feb 2, 2024
f4a83e6
Do not support.
yxd-ym Feb 2, 2024
f8c9ae3
Revert "Do not support."
yxd-ym Feb 2, 2024
01f87bb
Disable macos.
yxd-ym Feb 2, 2024
b46b81a
Revert "Disable macos."
yxd-ym Feb 2, 2024
6005260
Fix arch.
yxd-ym Feb 2, 2024
c1ee874
Fix version range.
yxd-ym Feb 2, 2024
9846373
Fix case.
yxd-ym Feb 2, 2024
522217e
Fix variable.
yxd-ym Feb 2, 2024
c6f3f36
Fix code.
yxd-ym Feb 2, 2024
405d8e1
Revert "Fix code."
yxd-ym Feb 2, 2024
c95cded
Revert "Fix variable."
yxd-ym Feb 2, 2024
63a69c0
Revert "Fix case."
yxd-ym Feb 2, 2024
d605997
Disable macho tests.
yxd-ym Feb 2, 2024
d859aef
Revert test.
yxd-ym Feb 2, 2024
18862f4
Add target.
yxd-ym Feb 2, 2024
20eef92
Disable macho tests.
yxd-ym Feb 2, 2024
307c6d0
Fix default target.
yxd-ym Feb 3, 2024
cb6b7c8
Fix generic.
yxd-ym Feb 3, 2024
4e0768d
Add baseline.
yxd-ym Feb 3, 2024
993c2af
Remove baseline.
yxd-ym Feb 3, 2024
609ee92
Use la464.
yxd-ym Feb 3, 2024
e3c0972
Remove it.
yxd-ym Feb 3, 2024
6ef257e
la464 does not work.
yxd-ym Feb 3, 2024
fc60728
Try to use loongarch64.
yxd-ym Feb 3, 2024
ef79db0
Fix const.
yxd-ym Feb 3, 2024
59a021d
Fix libunwind macro.
yxd-ym Feb 4, 2024
da37dee
Fix local symbol.
yxd-ym Feb 4, 2024
12012e8
Do not set min version.
yxd-ym Feb 5, 2024
edba598
Add detect func.
yxd-ym Feb 5, 2024
7ba3311
Use mold.
yxd-ym Feb 5, 2024
6798672
Fix subcommand.
yxd-ym Feb 5, 2024
0ede93c
Fix assignment.
yxd-ym Feb 5, 2024
07521d9
Assign value.
yxd-ym Feb 5, 2024
4e1dd93
Use mold.
yxd-ym Feb 5, 2024
a0bd57e
Fix condition.
yxd-ym Feb 5, 2024
0ad4ece
use fatal.
yxd-ym Feb 5, 2024
f275006
Fix compile.
yxd-ym Feb 5, 2024
e549b42
Fix command.
yxd-ym Feb 5, 2024
6bb83ad
Unset mold.
yxd-ym Feb 5, 2024
743d81d
Revert "Unset mold."
yxd-ym Feb 5, 2024
02b4edc
Try to find mold.
yxd-ym Feb 5, 2024
06983bd
Revert "Try to find mold."
yxd-ym Feb 5, 2024
b4d9273
Run mold.
yxd-ym Feb 5, 2024
9214214
Fix exit code.
yxd-ym Feb 5, 2024
59d6948
Use fatal.
yxd-ym Feb 5, 2024
6f47092
Fix type.
yxd-ym Feb 5, 2024
3242219
Do not provide libc.
yxd-ym Feb 5, 2024
690f187
Update abilists.
yxd-ym Feb 6, 2024
1bce05c
Add loongarch64 header.
yxd-ym Feb 6, 2024
0dafa70
Add libc.
yxd-ym Feb 7, 2024
b5af28d
Set default abi to gnu.
yxd-ym Feb 7, 2024
6a7ea21
Fix long double.
yxd-ym Feb 7, 2024
bd443fd
Fix name.
yxd-ym Feb 7, 2024
85731bd
Update glibc.
yxd-ym Feb 7, 2024
aab48b0
Fix version.
yxd-ym Feb 7, 2024
2be6302
Restore zig's patch.
yxd-ym Feb 7, 2024
31807b7
Revert "Try to use loongarch64."
yxd-ym Feb 7, 2024
868f824
Fix baseline.
yxd-ym Feb 7, 2024
98d1a59
Use baseline for native.
yxd-ym Feb 7, 2024
f7b13d9
Fix generic.
yxd-ym Feb 7, 2024
019370f
Fix baseline.
yxd-ym Feb 7, 2024
6a84fa0
Fix detection.
yxd-ym Feb 7, 2024
7845458
Fix baseline.
yxd-ym Feb 7, 2024
72c17ac
Fix baseline.
yxd-ym Feb 7, 2024
d943e77
Fix assembler arg.
yxd-ym Feb 7, 2024
6534a82
No f16.
yxd-ym Feb 8, 2024
a1402c2
Fix baseline.
yxd-ym Feb 18, 2024
6549b72
Add glibc min version.
yxd-ym Feb 18, 2024
5a8bc72
Revert "Add glibc min version."
yxd-ym Feb 19, 2024
1d3a240
Add loongarch.
yxd-ym Feb 19, 2024
032fd5b
Revert "Fix libunwind macro."
yxd-ym Feb 19, 2024
04dfeb7
Reapply "Add glibc min version."
yxd-ym Feb 19, 2024
11e2bfa
Bump linux version.
yxd-ym Feb 19, 2024
3a42c39
No crtn/crti for loongarch64 in glibc.
yxd-ym Feb 19, 2024
2e93988
Bump glibc.
yxd-ym Feb 19, 2024
f04e877
Add start.S.
yxd-ym Feb 19, 2024
da5623b
Add generic name.
yxd-ym Feb 20, 2024
038c1c2
Add start.S path.
yxd-ym Feb 20, 2024
2c1dad4
Add regdef.
yxd-ym Feb 20, 2024
e06793b
Fix cfi_label.
yxd-ym Feb 20, 2024
f64ae57
Try ld.bfd.
yxd-ym Feb 20, 2024
5d0c3d7
Fix parameter.
yxd-ym Feb 20, 2024
dfdfe27
Use ld.lld.
yxd-ym Feb 20, 2024
0241297
Use ld.bfd.
yxd-ym Feb 20, 2024
0891503
Use ld.lld.
yxd-ym Feb 20, 2024
9ac895f
Use mold.
yxd-ym Feb 21, 2024
0479857
Disable lto.
yxd-ym Feb 22, 2024
43ca85c
Use ld.lld.
yxd-ym Feb 22, 2024
d9ef54f
Use mold.
yxd-ym Feb 22, 2024
ef3d5be
Use ld.bfd.
yxd-ym Feb 22, 2024
6b8c622
Use mold.
yxd-ym Feb 27, 2024
acc34c2
Add musl support.
yxd-ym Mar 4, 2024
58b1837
Add musl support.
yxd-ym Mar 4, 2024
2310695
Add musl support.
yxd-ym Mar 4, 2024
f52d16c
Add musl support.
yxd-ym Mar 4, 2024
545dc82
Add musl support.
yxd-ym Mar 4, 2024
b916ffd
Update musl libc.
yxd-ym Mar 4, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Revert "Try to find mold."
This reverts commit 02b4edc.
  • Loading branch information
yxd-ym committed Feb 5, 2024
commit 06983bd7d3e15c338224d666a6b4a5eaf3700417
17 changes: 1 addition & 16 deletions zig/src/link/Elf.zig
Original file line number Diff line number Diff line change
Expand Up @@ -2951,22 +2951,7 @@ fn linkWithLLD(self: *Elf, arena: Allocator, prog_node: *std.Progress.Node) !voi
// If possible, we run LLD as a child process because it does not always
// behave properly as a library, unfortunately.
// https://github.com/ziglang/zig/issues/3825
var child: std.ChildProcess = undefined;
if (use_mold) {
if (std.Build.findProgram(.{"mold"}, .{})) |mold| {
var args = std.ArrayList([]const u8).init(gpa);
defer args.deinit();

try args.append(mold);
try args.appendSlice(argv.items[2..]);

child = std.ChildProcess.init(args.items, arena);
} else |err| {
log.err("unable to find mold: {s}", .{@errorName(err)});
}
} else {
child = std.ChildProcess.init(argv.items, arena);
}
var child = std.ChildProcess.init(argv.items, arena);

if (comp.clang_passthrough_mode or use_mold) {
child.stdin_behavior = .Inherit;
Expand Down