aboutsummaryrefslogtreecommitdiff
path: root/tccrun.c
diff options
context:
space:
mode:
authorThomas Preud'homme <thomas.preudhomme@celest.fr>2010-06-24 20:53:42 +0200
committerThomas Preud'homme <thomas.preudhomme@celest.fr>2010-08-09 20:20:09 +0200
commitbcc9137a1004682ac58914c7445427cb23ceba88 (patch)
treee54446541208b15307119629e34ee6b6da696e5b /tccrun.c
parent82c5edb31cd0bb2ee699992c45557006f1681e0e (diff)
downloadtinycc-bcc9137a1004682ac58914c7445427cb23ceba88.tar.gz
tinycc-bcc9137a1004682ac58914c7445427cb23ceba88.tar.bz2
Add support for indirect functions as externals.
Add link support to use indirect functions defined in external modules
Diffstat (limited to 'tccrun.c')
-rw-r--r--tccrun.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/tccrun.c b/tccrun.c
index 9ef903d..e24d95e 100644
--- a/tccrun.c
+++ b/tccrun.c
@@ -306,7 +306,11 @@ static uplong rt_printline(uplong wanted_pc)
sym < sym_end;
sym++) {
type = ELFW(ST_TYPE)(sym->st_info);
- if (type == STT_FUNC) {
+ if (type == STT_FUNC
+#ifdef STT_GNU_IFUNC
+ || type == STT_GNU_IFUNC
+#endif
+ ) {
if (wanted_pc >= sym->st_value &&
wanted_pc < sym->st_value + sym->st_size) {
pstrcpy(last_func_name, sizeof(last_func_name),