diff options
author | Simon Marlow <marlowsd@gmail.com> | 2014-10-01 13:15:05 +0100 |
---|---|---|
committer | Simon Marlow <marlowsd@gmail.com> | 2014-10-08 13:57:22 +0100 |
commit | 5300099edf106c1f5938c0793bd6ca199a0eebf0 (patch) | |
tree | 57d654681c48e08c0970fd3396c07a8ed5dd8b08 /includes | |
parent | 0ed9a2779a2adf0347088134fdb9f60ae9f2735b (diff) | |
download | haskell-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.h | 2 |
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 ); |