From 95b9a477b6743004e0e9bf728b25bf63d2908777 Mon Sep 17 00:00:00 2001 From: Manuel Simoni Date: Sat, 27 Feb 2010 17:37:59 +0100 Subject: weak function symbols --- libtcc.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'libtcc.c') diff --git a/libtcc.c b/libtcc.c index bea52de..feb30bc 100644 --- a/libtcc.c +++ b/libtcc.c @@ -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); -- cgit v1.3.1