Skip to content

Commit c157550

Browse files
alexrpkubkon
authored andcommitted
link.Coff: Basic support for /Brepro in the self-hosted linker.
Just keep things simple and zero the timestamp. It's not obvious that there's any real benefit to adding complexity and harming performance by computing a hash of the whole file for the timestamp value. See: * https://learn.microsoft.com/en-us/windows/win32/debug/pe-format#general-concepts * https://learn.microsoft.com/en-us/windows/win32/debug/pe-format#debug-type In the future, we should at least add an empty `IMAGE_DEBUG_TYPE_REPRO` entry to the debug data directory for this case, but I didn't want to do too much surgery right now since it's early days for COFF support in the self-hosted linker.
1 parent d30d37e commit c157550

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/link/Coff.zig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2289,7 +2289,7 @@ fn writeHeader(self: *Coff) !void {
22892289
flags.DLL = 1;
22902290
}
22912291

2292-
const timestamp = std.time.timestamp();
2292+
const timestamp = if (self.repro) 0 else std.time.timestamp();
22932293
const size_of_optional_header = @as(u16, @intCast(self.getOptionalHeaderSize() + self.getDataDirectoryHeadersSize()));
22942294
var coff_header = coff.CoffHeader{
22952295
.machine = coff.MachineType.fromTargetCpuArch(target.cpu.arch),

0 commit comments

Comments
 (0)