summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2014-10-01 13:15:05 +0100
committerSimon Marlow <marlowsd@gmail.com>2014-10-08 13:57:22 +0100
commit5300099edf106c1f5938c0793bd6ca199a0eebf0 (patch)
tree57d654681c48e08c0970fd3396c07a8ed5dd8b08 /includes
parent0ed9a2779a2adf0347088134fdb9f60ae9f2735b (diff)
downloadhaskell-5300099edf106c1f5938c0793bd6ca199a0eebf0.tar.gz
Make the linker more robust to errors
Summary: When linking fails because there was a problem with the supplied object file, then we should not barf() or exit, we should emit a suitable error message and return an error code to the caller. We should also free all memory that might have been allocated during linking, and generally not do any damage. This patch fixes most common instances of this problem. Test Plan: validate Reviewers: rwbarton, austin, ezyang Reviewed By: ezyang Subscribers: simonmar, ezyang, carter, thomie Differential Revision: https://phabricator.haskell.org/D294
Diffstat (limited to 'includes')
-rw-r--r--includes/rts/Linker.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/includes/rts/Linker.h b/includes/rts/Linker.h
index 42d316fc38..c53ad4acc5 100644
--- a/includes/rts/Linker.h
+++ b/includes/rts/Linker.h
@@ -43,7 +43,7 @@ void initLinker (void);
void initLinker_ (int retain_cafs);
/* insert a symbol in the hash table */
-void insertSymbol(pathchar* obj_name, char* key, void* data);
+HsInt insertSymbol(pathchar* obj_name, char* key, void* data);
/* lookup a symbol in the hash table */
void *lookupSymbol( char *lbl );