aboutsummaryrefslogtreecommitdiff
path: root/src/main.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2023-12-12 14:12:45 -0700
committerAndrew Kelley <andrew@ziglang.org>2024-01-01 17:51:19 -0700
commit3b6cb257dfbcfe7217cdb00819615d1cf1e6b89c (patch)
tree4431c016e34bbda2600a0a582064a1ba932ffe9e /src/main.zig
parent9a48a5ab0784ae9744c72cfcc6d7ad9b2cea6a9c (diff)
downloadzig-3b6cb257dfbcfe7217cdb00819615d1cf1e6b89c.tar.gz
zig-3b6cb257dfbcfe7217cdb00819615d1cf1e6b89c.zip
update image_base references
Diffstat (limited to 'src/main.zig')
-rw-r--r--src/main.zig19
1 files changed, 9 insertions, 10 deletions
diff --git a/src/main.zig b/src/main.zig
index 61b9b6ff56..499d0f57f9 100644
--- a/src/main.zig
+++ b/src/main.zig
@@ -860,7 +860,7 @@ fn buildOutputType(
var test_no_exec = false;
var force_undefined_symbols: std.StringArrayHashMapUnmanaged(void) = .{};
var stack_size: ?u64 = null;
- var image_base_override: ?u64 = null;
+ var image_base: ?u64 = null;
var link_eh_frame_hdr = false;
var link_emit_relocs = false;
var each_lib_rpath: ?bool = null;
@@ -1131,10 +1131,7 @@ fn buildOutputType(
} else if (mem.eql(u8, arg, "--stack")) {
stack_size = parseStackSize(args_iter.nextOrFatal());
} else if (mem.eql(u8, arg, "--image-base")) {
- const next_arg = args_iter.nextOrFatal();
- image_base_override = std.fmt.parseUnsigned(u64, next_arg, 0) catch |err| {
- fatal("unable to parse image base override '{s}': {s}", .{ next_arg, @errorName(err) });
- };
+ image_base = parseImageBase(args_iter.nextOrFatal());
} else if (mem.eql(u8, arg, "--name")) {
provided_name = args_iter.nextOrFatal();
if (!mem.eql(u8, provided_name.?, fs.path.basename(provided_name.?)))
@@ -2283,10 +2280,7 @@ fn buildOutputType(
} else if (mem.eql(u8, arg, "--stack") or mem.eql(u8, arg, "-stack_size")) {
stack_size = parseStackSize(linker_args_it.nextOrFatal());
} else if (mem.eql(u8, arg, "--image-base")) {
- const image_base = linker_args_it.nextOrFatal();
- image_base_override = std.fmt.parseUnsigned(u64, image_base, 0) catch |err| {
- fatal("unable to parse image base override '{s}': {s}", .{ image_base, @errorName(err) });
- };
+ image_base = parseImageBase(linker_args_it.nextOrFatal());
} else if (mem.eql(u8, arg, "-T") or mem.eql(u8, arg, "--script")) {
linker_script = linker_args_it.nextOrFatal();
} else if (mem.eql(u8, arg, "--eh-frame-hdr")) {
@@ -3424,7 +3418,7 @@ fn buildOutputType(
.link_emit_relocs = link_emit_relocs,
.force_undefined_symbols = force_undefined_symbols,
.stack_size = stack_size,
- .image_base_override = image_base_override,
+ .image_base = image_base,
.formatted_panics = formatted_panics,
.function_sections = function_sections,
.data_sections = data_sections,
@@ -7686,3 +7680,8 @@ fn parseStackSize(s: []const u8) u64 {
return std.fmt.parseUnsigned(u64, s, 0) catch |err|
fatal("unable to parse stack size '{s}': {s}", .{ s, @errorName(err) });
}
+
+fn parseImageBase(s: []const u8) u64 {
+ return std.fmt.parseUnsigned(u64, s, 0) catch |err|
+ fatal("unable to parse image base '{s}': {s}", .{ s, @errorName(err) });
+}