From 29476485f90a0c3460149349367a45085cc57c65 Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Wed, 10 Jan 2024 16:20:24 +0000 Subject: [PATCH] aarch64: Ignore GCS property of ld.so check_gcs is called for each dependency of a DSO, but the GNU property of the ld.so is not processed so ldso->l_mach.gcs may not be correct. Just assume ld.so is GCS compatible independently of the ELF marking. Reviewed-by: Wilco Dijkstra --- sysdeps/aarch64/dl-gcs.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sysdeps/aarch64/dl-gcs.c b/sysdeps/aarch64/dl-gcs.c index 28febf93cd..4ac86a5d6f 100644 --- a/sysdeps/aarch64/dl-gcs.c +++ b/sysdeps/aarch64/dl-gcs.c @@ -53,6 +53,11 @@ unsupported (void) static bool check_gcs (struct link_map *l, const char *program, bool enforced) { +#ifdef SHARED + /* Ignore GCS marking on ld.so: its properties are not processed. */ + if (is_rtld_link_map (l->l_real)) + return true; +#endif /* Binary is marked, all good. */ if (l->l_mach.gcs) return true;