aboutsummaryrefslogtreecommitdiff
path: root/tcc.c
diff options
context:
space:
mode:
authorDetlef Riekenberg <wine.dev@web.de>2010-01-26 22:55:14 +0100
committerDetlef Riekenberg <tcc.dev@web.de>2010-01-26 22:55:14 +0100
commit2650584ac4fd71ae4ed2b4e3da755b890ba0637c (patch)
tree4e9b65389565d23b3899d46883659962957a0bd9 /tcc.c
parent5caf6235cf767682ed1212b3dff44bd59a257cef (diff)
downloadtinycc-2650584ac4fd71ae4ed2b4e3da755b890ba0637c.tar.gz
tinycc-2650584ac4fd71ae4ed2b4e3da755b890ba0637c.tar.bz2
Recognize -Wl,-Bsymbolic
Without -Bsymbolic, a symbol/function in a *.so can be overridden by a symbol/function in the main module. That is the default search order, but not supported by tcc. With -Bsymbolic, the linker tries to resolve a symbol/function in the current module first. The loader in tcc implements this search order. We do not distinguish -Bsymbolic and -Bsymbolic-function -- By by ... Detlef
Diffstat (limited to 'tcc.c')
-rw-r--r--tcc.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/tcc.c b/tcc.c
index 6c12b20..7e3d8b2 100644
--- a/tcc.c
+++ b/tcc.c
@@ -386,6 +386,8 @@ static int parse_args(TCCState *s, int argc, char **argv)
if (strstart(optarg, "-Ttext,", &p)) {
s->text_addr = strtoul(p, NULL, 16);
s->has_text_addr = 1;
+ } else if (strstart(optarg, "-Bsymbolic", &p)) {
+ s->symbolic = TRUE;
} else if (strstart(optarg, "--section-alignment,", &p)) {
s->section_align = strtoul(p, NULL, 16);
} else if (strstart(optarg, "--image-base,", &p)) {