diff options
Diffstat (limited to 'src/link/Elf.zig')
| -rw-r--r-- | src/link/Elf.zig | 24 |
1 files changed, 9 insertions, 15 deletions
diff --git a/src/link/Elf.zig b/src/link/Elf.zig index 00bd940500..a338ec722d 100644 --- a/src/link/Elf.zig +++ b/src/link/Elf.zig @@ -1596,8 +1596,8 @@ fn linkWithLLD(self: *Elf, arena: Allocator, tid: Zcu.PerThread.Id, prog_node: s man.hash.addListOfBytes(self.rpath_table.keys()); if (output_mode == .Exe) { man.hash.add(self.base.stack_size); - man.hash.add(self.base.build_id); } + man.hash.add(self.base.build_id); man.hash.addListOfBytes(self.symbol_wrap_set.keys()); man.hash.add(comp.skip_linker_dependencies); man.hash.add(self.z_nodelete); @@ -1753,20 +1753,14 @@ fn linkWithLLD(self: *Elf, arena: Allocator, tid: Zcu.PerThread.Id, prog_node: s }); } - if (is_exe_or_dyn_lib) { - switch (self.base.build_id) { - .none => {}, - .fast, .uuid, .sha1, .md5 => { - try argv.append(try std.fmt.allocPrint(arena, "--build-id={s}", .{ - @tagName(self.base.build_id), - })); - }, - .hexstring => |hs| { - try argv.append(try std.fmt.allocPrint(arena, "--build-id=0x{s}", .{ - std.fmt.fmtSliceHexLower(hs.toSlice()), - })); - }, - } + switch (self.base.build_id) { + .none => try argv.append("--build-id=none"), + .fast, .uuid, .sha1, .md5 => try argv.append(try std.fmt.allocPrint(arena, "--build-id={s}", .{ + @tagName(self.base.build_id), + })), + .hexstring => |hs| try argv.append(try std.fmt.allocPrint(arena, "--build-id=0x{s}", .{ + std.fmt.fmtSliceHexLower(hs.toSlice()), + })), } try argv.append(try std.fmt.allocPrint(arena, "--image-base={d}", .{self.image_base})); |
