Commit ee8d1fac authored by Simon Marlow's avatar Simon Marlow

Remove unused oc->isImportLib (#12230)

Summary:
This field is never set, but it was being tested and used to decide
whether to resolve an object or not.  This caused non-deterministic
crashes when using the RTS linker (see #12230).

I suspect this is not the correct fix, but putting it up so that Phyx
can tell us what the right fix should be.

Test Plan: validate

Reviewers: austin, Phyx, bgamari, erikd

Subscribers: erikd, thomie, ezyang

Differential Revision: https://phabricator.haskell.org/D2371

GHC Trac Issues: #12230
parent 6ba4197e
......@@ -1703,9 +1703,7 @@ void freeObjectCode (ObjectCode *oc)
* Sets the initial status of a fresh ObjectCode
*/
static void setOcInitialStatus(ObjectCode* oc) {
if (oc->isImportLib == HS_BOOL_TRUE) {
oc->status = OBJECT_DONT_RESOLVE;
} else if (oc->archiveMemberName == NULL) {
if (oc->archiveMemberName == NULL) {
oc->status = OBJECT_NEEDED;
} else {
oc->status = OBJECT_LOADED;
......
......@@ -160,11 +160,6 @@ typedef struct _ObjectCode {
ForeignExportStablePtr *stable_ptrs;
/* Indicates whether if the .o file comes from
an import library. In which case we shouldn't
execute code from it. */
HsBool isImportLib;
/* Holds the list of symbols in the .o file which
require extra information.*/
HashTable *extraInfos;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment