aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Preud'homme <robotux@celest.fr>2016-12-10 19:09:44 +0800
committerThomas Preud'homme <robotux@celest.fr>2016-12-10 19:12:36 +0800
commitdfed9babfcce075cdfd388fe7646d183e3f5505f (patch)
tree4aed3d6a2c3ed44f73d521099698731574fce292
parent0bf262864c95e555fbd077b8f30e64652d9113a6 (diff)
downloadtinycc-dfed9babfcce075cdfd388fe7646d183e3f5505f.tar.gz
tinycc-dfed9babfcce075cdfd388fe7646d183e3f5505f.tar.bz2
Allow PLT/GOT entry for weak static symbol
-rw-r--r--tccelf.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/tccelf.c b/tccelf.c
index df7375c..41b6081 100644
--- a/tccelf.c
+++ b/tccelf.c
@@ -1009,6 +1009,7 @@ static unsigned long put_got_entry(TCCState *s1, int dyn_reloc_type,
esym->st_value = offset;
} else if (s1->output_type == TCC_OUTPUT_MEMORY ||
+ ELFW(ST_BIND)(sym->st_info) == STB_WEAK ||
relocs_info[reloc_type].gotplt_entry == ALWAYS_GOTPLT_ENTRY)
index = put_elf_sym(s1->dynsym, offset, size, info, 0,
sym->st_shndx, name);