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 <Wilco.Dijkstra@arm.com>
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;