summaryrefslogtreecommitdiff
path: root/rts/Linker.c
diff options
context:
space:
mode:
Diffstat (limited to 'rts/Linker.c')
-rw-r--r--rts/Linker.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/rts/Linker.c b/rts/Linker.c
index b31142e8e4..bfbf8338af 100644
--- a/rts/Linker.c
+++ b/rts/Linker.c
@@ -900,6 +900,10 @@ SymbolAddr* lookupDependentSymbol (SymbolName* lbl, ObjectCode *dependent)
# error No OBJFORMAT_* macro set
# endif
} else {
+ static void *RTS_NO_FINI = NULL;
+ if (strcmp(lbl, "__fini_array_end") == 0) { return (SymbolAddr *) &RTS_NO_FINI; }
+ if (strcmp(lbl, "__fini_array_start") == 0) { return (SymbolAddr *) &RTS_NO_FINI; }
+
if (dependent) {
// Add dependent as symbol's owner's dependency
ObjectCode *owner = pinfo->owner;