Skip to content

Commit 956f53b

Browse files
agreppinandrewrk
authored andcommitted
NetBSD: avoid ldd error on executables. zig cc produce 4 PT_LOAD segments,
wheras on NetBSD, only 2 PT_LOAD are usually produced by other compilers (tested with host gcc and clang). $ ldd -v main_4segs .../main_4segs: wrong number of segments (4 != 2) .../main_4segs: invalid ELF class 2; expected 1
1 parent fc45e5b commit 956f53b

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/link/Elf.zig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2508,7 +2508,7 @@ fn linkWithLLD(self: *Elf, arena: Allocator, prog_node: *std.Progress.Node) !voi
25082508
try argv.append("-pie");
25092509
}
25102510

2511-
if (is_dyn_lib and target.os.tag == .netbsd) {
2511+
if (is_exe_or_dyn_lib and target.os.tag == .netbsd) {
25122512
// Add options to produce shared objects with only 2 PT_LOAD segments.
25132513
// NetBSD expects 2 PT_LOAD segments in a shared object, otherwise
25142514
// ld.elf_so fails loading dynamic libraries with "not found" error.

0 commit comments

Comments
 (0)