diff options
| author | Manuel Simoni <msimoni@gmail.com> | 2010-02-27 17:37:59 +0100 |
|---|---|---|
| committer | Manuel Simoni <msimoni@gmail.com> | 2010-02-27 17:37:59 +0100 |
| commit | 95b9a477b6743004e0e9bf728b25bf63d2908777 (patch) | |
| tree | d5406d5ac0054dda4ddb5494ae58103f3d5c0930 /libtcc.c | |
| parent | d63ec6f20dc7e29e266589458ea90fb56f8c86ea (diff) | |
| download | tinycc-95b9a477b6743004e0e9bf728b25bf63d2908777.tar.gz tinycc-95b9a477b6743004e0e9bf728b25bf63d2908777.tar.bz2 | |
weak function symbols
Diffstat (limited to 'libtcc.c')
| -rw-r--r-- | libtcc.c | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -424,8 +424,12 @@ ST_FUNC void put_extern_sym2(Sym *sym, Section *section, if (sym->type.t & VT_STATIC) sym_bind = STB_LOCAL; - else - sym_bind = STB_GLOBAL; + else { + if (FUNC_WEAK(sym->type.ref->r)) + sym_bind = STB_WEAK; + else + sym_bind = STB_GLOBAL; + } if (!sym->c) { name = get_tok_str(sym->v, NULL); |
