From 67bc4cb45255d258bb376ae189b0fee86d6b8b67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C5=8Dshin?= Date: Tue, 7 May 2024 15:50:30 -0700 Subject: [PATCH] Try to make fixupobj forward-compatible --- libc/elf/def.h | 3 ++- tool/build/fixupobj.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) 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; } /**