diff options
| author | Joe Soroka <gits@joesoroka.com> | 2011-03-07 12:18:54 -0800 |
|---|---|---|
| committer | Joe Soroka <gits@joesoroka.com> | 2011-03-07 12:18:54 -0800 |
| commit | 585027aa96360e05907669c14a0fddbf8a9de86a (patch) | |
| tree | ed8f8891a6343fb85d760042dea838bb9c8bdb2c | |
| parent | e23194a1fa2ca176c9151964a2e035f36736e650 (diff) | |
| download | tinycc-585027aa96360e05907669c14a0fddbf8a9de86a.tar.gz tinycc-585027aa96360e05907669c14a0fddbf8a9de86a.tar.bz2 | |
tccelf: allow multiply defined weak symbols
| -rw-r--r-- | tccelf.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -241,6 +241,8 @@ ST_FUNC int add_elf_sym(Section *s, uplong value, unsigned long size, goto do_patch; } else if (sym_bind == STB_WEAK && esym_bind == STB_GLOBAL) { /* weak is ignored if already global */ + } else if (sym_bind == STB_WEAK && esym_bind == STB_WEAK) { + /* keep first-found weak definition, ignore subsequents */ } else if (sym_vis == STV_HIDDEN || sym_vis == STV_INTERNAL) { /* ignore hidden symbols after */ } else if (esym->st_shndx == SHN_COMMON |
