diff --git a/ape/loader.c b/ape/loader.c index 45794d1eb..aa40b6262 100644 --- a/ape/loader.c +++ b/ape/loader.c @@ -999,7 +999,7 @@ EXTERN_C __attribute__((__noreturn__)) void ApeLoader(long di, long *sp, pagesz = ap[1]; } else if (SupportsNetbsd() && !os && ap[0] == AT_EXECFN_NETBSD) { os = NETBSD; - } else if (ap[0] == AT_FLAGS) { + } else if (!flags && ap[0] == AT_FLAGS) { // TODO(mrdomino): does anyone use auxv 8 for anything else? flags = ap; arg0 = !!(ap[1] & AT_FLAGS_PRESERVE_ARGV0);