diff --git a/libc/elf/def.h b/libc/elf/def.h index a322684a7..8530592c0 100644 --- a/libc/elf/def.h +++ b/libc/elf/def.h @@ -86,7 +86,8 @@ #define EM_BPF 247 /* the ape flag, "lol cat 5" */ -#define EF_APE_MODERN 0x101ca75 +#define EF_APE_MODERN 0x101ca75 +#define EF_APE_MODERN_MASK 0x1ffffff #define GRP_COMDAT 1 #define STN_UNDEF 0 diff --git a/tool/build/fixupobj.c b/tool/build/fixupobj.c index 61f10530a..9b26ff8b6 100644 --- a/tool/build/fixupobj.c +++ b/tool/build/fixupobj.c @@ -332,7 +332,8 @@ static void UseFreebsdOsAbi(void) { } static void WriteApeFlags(void) { - elf->e_flags |= EF_APE_MODERN; + /* try to be forward-compatible */ + elf->e_flags = (elf->e_flags & ~EF_APE_MODERN_MASK) | EF_APE_MODERN; } /**