| ... | ... | @@ -1638,10 +1638,10 @@ fn buildOutputType( |
| 1638 | 1638 | linker_z_relro = true; |
| 1639 | 1639 | } else if (mem.eql(u8, z_arg, "norelro")) { |
| 1640 | 1640 | linker_z_relro = false; |
| 1641 | | } else if (mem.chompPrefix(u8, z_arg, "common-page-size=")) |rest| { |
| 1642 | | linker_z_common_page_size = parseIntSuffix(rest, 0); |
| 1643 | | } else if (mem.chompPrefix(u8, z_arg, "max-page-size=")) |rest| { |
| 1644 | | linker_z_max_page_size = parseIntSuffix(rest, 0); |
| 1641 | } else if (prefixedIntArg(z_arg, "common-page-size=")) |int| { |
| 1642 | linker_z_common_page_size = int; |
| 1643 | } else if (prefixedIntArg(z_arg, "max-page-size=")) |int| { |
| 1644 | linker_z_max_page_size = int; |
| 1645 | 1645 | } else { |
| 1646 | 1646 | fatal("unsupported linker extension flag: -z {s}", .{z_arg}); |
| 1647 | 1647 | } |
| ... | ... | @@ -1662,14 +1662,14 @@ fn buildOutputType( |
| 1662 | 1662 | linker_import_table = true; |
| 1663 | 1663 | } else if (mem.eql(u8, arg, "--export-table")) { |
| 1664 | 1664 | linker_export_table = true; |
| 1665 | | } else if (mem.chompPrefix(u8, arg, "--initial-memory=")) |rest| { |
| 1666 | | linker_initial_memory = parseIntSuffix(rest, 0); |
| 1667 | | } else if (mem.chompPrefix(u8, arg, "--max-memory=")) |rest| { |
| 1668 | | linker_max_memory = parseIntSuffix(rest, 0); |
| 1665 | } else if (prefixedIntArg(arg, "--initial-memory=")) |int| { |
| 1666 | linker_initial_memory = int; |
| 1667 | } else if (prefixedIntArg(arg, "--max-memory=")) |int| { |
| 1668 | linker_max_memory = int; |
| 1669 | 1669 | } else if (mem.eql(u8, arg, "--shared-memory")) { |
| 1670 | 1670 | create_module.opts.shared_memory = true; |
| 1671 | | } else if (mem.chompPrefix(u8, arg, "--global-base=")) |rest| { |
| 1672 | | linker_global_base = parseIntSuffix(rest, 0); |
| 1671 | } else if (prefixedIntArg(arg, "--global-base=")) |int| { |
| 1672 | linker_global_base = int; |
| 1673 | 1673 | } else if (mem.chompPrefix(u8, arg, "--export=")) |rest| { |
| 1674 | 1674 | try linker_export_symbol_names.append(arena, rest); |
| 1675 | 1675 | } else if (mem.eql(u8, arg, "-Bsymbolic")) { |
| ... | ... | @@ -2555,10 +2555,10 @@ fn buildOutputType( |
| 2555 | 2555 | linker_z_relro = false; |
| 2556 | 2556 | } else if (mem.chompPrefix(u8, z_arg, "stack-size=")) |rest| { |
| 2557 | 2557 | stack_size = parseStackSize(rest); |
| 2558 | | } else if (mem.chompPrefix(u8, z_arg, "common-page-size=")) |rest| { |
| 2559 | | linker_z_common_page_size = parseIntSuffix(rest, 0); |
| 2560 | | } else if (mem.chompPrefix(u8, z_arg, "max-page-size=")) |rest| { |
| 2561 | | linker_z_max_page_size = parseIntSuffix(rest, 0); |
| 2558 | } else if (prefixedIntArg(z_arg, "common-page-size=")) |int| { |
| 2559 | linker_z_common_page_size = int; |
| 2560 | } else if (prefixedIntArg(z_arg, "max-page-size=")) |int| { |
| 2561 | linker_z_max_page_size = int; |
| 2562 | 2562 | } else { |
| 2563 | 2563 | fatal("unsupported linker extension flag: -z {s}", .{z_arg}); |
| 2564 | 2564 | } |
| ... | ... | @@ -6617,10 +6617,9 @@ fn eatIntPrefix(arg: []const u8, base: u8) []const u8 { |
| 6617 | 6617 | return arg; |
| 6618 | 6618 | } |
| 6619 | 6619 | |
| 6620 | | fn parseIntSuffix(arg: []const u8, prefix_len: usize) u64 { |
| 6621 | | return std.fmt.parseUnsigned(u64, arg[prefix_len..], 0) catch |err| { |
| 6622 | | fatal("unable to parse '{s}': {s}", .{ arg, @errorName(err) }); |
| 6623 | | }; |
| 6620 | fn prefixedIntArg(arg: []const u8, prefix: []const u8) ?u64 { |
| 6621 | const number = mem.chompPrefix(u8, arg, prefix) orelse return null; |
| 6622 | return std.fmt.parseUnsigned(u64, number, 0) catch |err| fatal("unable to parse '{s}': {t}", .{ arg, err }); |
| 6624 | 6623 | } |
| 6625 | 6624 | |
| 6626 | 6625 | fn warnAboutForeignBinaries( |