mirror of
https://github.com/ziglang/zig.git
synced 2024-11-26 23:22:44 +00:00
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
This commit is contained in:
parent
6c482b8033
commit
595a7f8b08
@ -2508,7 +2508,7 @@ fn linkWithLLD(self: *Elf, arena: Allocator, prog_node: *std.Progress.Node) !voi
|
|||||||
try argv.append("-pie");
|
try argv.append("-pie");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_dyn_lib and target.os.tag == .netbsd) {
|
if (is_exe_or_dyn_lib and target.os.tag == .netbsd) {
|
||||||
// Add options to produce shared objects with only 2 PT_LOAD segments.
|
// Add options to produce shared objects with only 2 PT_LOAD segments.
|
||||||
// NetBSD expects 2 PT_LOAD segments in a shared object, otherwise
|
// NetBSD expects 2 PT_LOAD segments in a shared object, otherwise
|
||||||
// ld.elf_so fails loading dynamic libraries with "not found" error.
|
// ld.elf_so fails loading dynamic libraries with "not found" error.
|
||||||
|
Loading…
Reference in New Issue
Block a user