mirror of
https://github.com/ziglang/zig.git
synced 2026-02-12 20:37:54 +00:00
link.Elf: Ensure archive header fields are not left blank
ld.lld fails with "truncated or malformed archive" errors when reading archive header field values that are not valid numbers.
This commit is contained in:
parent
38d44404a5
commit
43eb9b52cc
@ -118,7 +118,6 @@ pub fn setArHdr(opts: struct {
|
||||
.ar_fmag = undefined,
|
||||
};
|
||||
@memset(mem.asBytes(&hdr), 0x20);
|
||||
@memcpy(&hdr.ar_fmag, elf.ARFMAG);
|
||||
|
||||
{
|
||||
var writer: std.Io.Writer = .fixed(&hdr.ar_name);
|
||||
@ -129,10 +128,15 @@ pub fn setArHdr(opts: struct {
|
||||
.name_off => |x| writer.print("/{d}", .{x}) catch unreachable,
|
||||
}
|
||||
}
|
||||
hdr.ar_date[0] = '0';
|
||||
hdr.ar_uid[0] = '0';
|
||||
hdr.ar_gid[0] = '0';
|
||||
hdr.ar_mode[0] = '0';
|
||||
{
|
||||
var writer: std.Io.Writer = .fixed(&hdr.ar_size);
|
||||
writer.print("{d}", .{opts.size}) catch unreachable;
|
||||
}
|
||||
hdr.ar_fmag = elf.ARFMAG.*;
|
||||
|
||||
return hdr;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user