From d5e4a13128d47e852b47a1b4c86c1a97bbd7da4c Mon Sep 17 00:00:00 2001 From: Alexey Sheplyakov Date: Thu, 20 Jul 2023 08:56:17 +0400 Subject: [PATCH 1/2] LoongArch: rtld: avoid segfaults when tracing cat > test.c <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: -- 2.33.8