aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix')
-rw-r--r--sysdeps/unix/sysv/linux/loongarch/readelflib.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/loongarch/readelflib.c b/sysdeps/unix/sysv/linux/loongarch/readelflib.c
index ceba355959..e34612895d 100644
--- a/sysdeps/unix/sysv/linux/loongarch/readelflib.c
+++ b/sysdeps/unix/sysv/linux/loongarch/readelflib.c
@@ -40,6 +40,12 @@ process_elf_file (const char *file_name, const char *lib, int *flag,
ret = process_elf64_file (file_name, lib, flag, isa_level, soname,
file_contents, file_length);
+
+ /* The EF_LARCH_OBJABI_V1 flag indicate which set of static relocations
+ the object might use and it only considered during static linking,
+ it does not reflect in runtime relocations. However some binutils
+ version might set it on dynamic shared object, so clear it to avoid
+ see the SO as unsupported. */
flags = elf64_header->e_flags & ~EF_LARCH_OBJABI_V1;
/* LoongArch linkers encode the floating point ABI as part of the ELF headers. */