zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit b46a40ff1db6c4d467925a9a0d72436cdb3a6a74 (tree)
parent 7774287fdca1b56e12a420c446e83191c05fb468
Author: Alex Rønne Petersen <alex@alexrp.com>
Date:   Wed, 22 Jan 2025 21:43:51 +0100

compiler: Handle --no-eh-frame-hdr as a regular zig build-* flag too.

For some reason we accepted --eh-frame-hdr, but not --no-eh-frame-hdr, despite
accepting the latter as a -Wl linker flag.

Diffstat:
Msrc/main.zig | 3+++
1 file changed, 3 insertions(+), 0 deletions(-)

diff --git a/src/main.zig b/src/main.zig @@ -575,6 +575,7 @@ const usage_build_generic = \\ 0x[hexstring] Maximum 32 bytes \\ none (default) Disable build-id \\ --eh-frame-hdr Enable C++ exception handling by passing --eh-frame-hdr to linker + \\ --no-eh-frame-hdr Disable C++ exception handling by passing --no-eh-frame-hdr to linker \\ --emit-relocs Enable output of relocation sections for post build tools \\ -z [arg] Set linker extension flags \\ nodelete Indicate that the object cannot be deleted from a process @@ -1582,6 +1583,8 @@ fn buildOutputType( fatal("unable to parse '{s}': {s}", .{ arg, @errorName(err) }); } else if (mem.eql(u8, arg, "--eh-frame-hdr")) { link_eh_frame_hdr = true; + } else if (mem.eql(u8, arg, "--no-eh-frame-hdr")) { + link_eh_frame_hdr = false; } else if (mem.eql(u8, arg, "--dynamicbase")) { linker_dynamicbase = true; } else if (mem.eql(u8, arg, "--no-dynamicbase")) {