diff options
| author | Thomas Preud'homme <robotux@celest.fr> | 2016-12-05 21:00:35 +0000 |
|---|---|---|
| committer | Thomas Preud'homme <robotux@celest.fr> | 2016-12-10 19:22:02 +0800 |
| commit | 11747fe5d0b8b4c8e7aa0b05ede57c155744ab36 (patch) | |
| tree | 4b1c62bc02f7a46af57328f349c8138dadd24b19 | |
| parent | dfed9babfcce075cdfd388fe7646d183e3f5505f (diff) | |
| download | tinycc-11747fe5d0b8b4c8e7aa0b05ede57c155744ab36.tar.gz tinycc-11747fe5d0b8b4c8e7aa0b05ede57c155744ab36.tar.bz2 | |
Error out in put_got_entry if no dynamic symbol
| -rw-r--r-- | tccelf.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -1013,6 +1013,8 @@ static unsigned long put_got_entry(TCCState *s1, int dyn_reloc_type, relocs_info[reloc_type].gotplt_entry == ALWAYS_GOTPLT_ENTRY) index = put_elf_sym(s1->dynsym, offset, size, info, 0, sym->st_shndx, name); + else + tcc_error("Runtime relocation without dynamic symbol: %s", name); put_elf_reloc(s1->dynsym, s1->got, got_offset, dyn_reloc_type, index); } else put_elf_reloc(symtab_section, s1->got, got_offset, dyn_reloc_type, |
