@@ -, +, @@ statically linked --- sysdeps/loongarch/dl-machine.h | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) --- a/sysdeps/loongarch/dl-machine.h +++ a/sysdeps/loongarch/dl-machine.h @@ -175,16 +175,21 @@ elf_machine_rela (struct link_map *map, struct r_scope_elem *scope[], #ifndef RTLD_BOOTSTRAP case __WORDSIZE == 64 ? R_LARCH_TLS_DTPMOD64 : R_LARCH_TLS_DTPMOD32: - *addr_field = sym_map->l_tls_modid; + if (sym_map) + *addr_field = sym_map->l_tls_modid; break; case __WORDSIZE == 64 ? R_LARCH_TLS_DTPREL64 : R_LARCH_TLS_DTPREL32: - *addr_field = TLS_DTPREL_VALUE (sym) + reloc->r_addend; + if (sym != NULL) + *addr_field = TLS_DTPREL_VALUE (sym) + reloc->r_addend; break; case __WORDSIZE == 64 ? R_LARCH_TLS_TPREL64 : R_LARCH_TLS_TPREL32: - CHECK_STATIC_TLS (map, sym_map); - *addr_field = TLS_TPREL_VALUE (sym_map, sym) + reloc->r_addend; + if (sym != NULL && sym_map != NULL) + { + CHECK_STATIC_TLS (map, sym_map); + *addr_field = TLS_TPREL_VALUE (sym_map, sym) + reloc->r_addend; + } break; case R_LARCH_COPY: --