fix inefficient choice of tlsdesc function due to off-by-one

tls_id is one-based, whereas [static_]tls_cnt is a count, so
comparison for checking that a given tls_id is dynamic rather than
static needs to use strict inequality.
This commit is contained in:
Rich Felker 2018-07-16 12:29:14 -04:00
parent 187bcc3bf4
commit 5fdccbcd8f
1 changed files with 1 additions and 1 deletions

View File

@ -438,7 +438,7 @@ static void do_relocs(struct dso *dso, size_t *rel, size_t rel_size, size_t stri
#endif
case REL_TLSDESC:
if (stride<3) addend = reloc_addr[1];
if (runtime && def.dso->tls_id >= static_tls_cnt) {
if (runtime && def.dso->tls_id > static_tls_cnt) {
struct td_index *new = malloc(sizeof *new);
if (!new) {
error(