better error message when attempting to load a sepInitCode object
authorClaus Gittinger <cg@exept.de>
Wed, 17 Apr 1996 13:42:56 +0200
changeset 252 b5612db98c13
parent 251 28c6c7bd3d2b
child 253 759ba0ddb672
better error message when attempting to load a sepInitCode object
ObjFLoader.st
ObjectFileLoader.st
--- a/ObjFLoader.st	Wed Apr 17 13:10:07 1996 +0200
+++ b/ObjFLoader.st	Wed Apr 17 13:42:56 1996 +0200
@@ -832,7 +832,7 @@
      Return false on error, true if ok."
 
     |handle initAddr className newClass initNames didInit info status suffixLen
-     undefinedNames dummyHandle|
+     undefinedNames dummyHandle msg|
 
     handle := self loadDynamicObject:aFileName.
     handle isNil ifTrue:[
@@ -971,7 +971,13 @@
         ].
         self listUndefinedSymbolsIn:handle.
         self unloadDynamicObject:handle.
-        Transcript showCr:'module not loaded (no _Init entry in object file ?).'
+
+        (self namesMatching:'*__sepInitCode__*' segment:'[tT]' in:aFileName) notNil ifTrue:[
+            msg := 'module not loaded (no _Init entry - looks like a sepInitCode object).'
+        ] ifFalse:[
+            msg := 'module not loaded (no _Init entry in object file ?).'
+        ].
+        Transcript showCr:msg
     ].
 
     Smalltalk isInitialized ifTrue:[
@@ -982,7 +988,7 @@
     ].
     ^ true
 
-    "Modified: 17.4.1996 / 13:09:03 / cg"
+    "Modified: 17.4.1996 / 13:42:14 / cg"
 !
 
 reloadAllRememberedObjectFiles
@@ -3159,6 +3165,6 @@
 !ObjectFileLoader class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libcomp/Attic/ObjFLoader.st,v 1.90 1996-04-17 11:10:07 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libcomp/Attic/ObjFLoader.st,v 1.91 1996-04-17 11:42:56 cg Exp $'
 ! !
 ObjectFileLoader initialize!
--- a/ObjectFileLoader.st	Wed Apr 17 13:10:07 1996 +0200
+++ b/ObjectFileLoader.st	Wed Apr 17 13:42:56 1996 +0200
@@ -832,7 +832,7 @@
      Return false on error, true if ok."
 
     |handle initAddr className newClass initNames didInit info status suffixLen
-     undefinedNames dummyHandle|
+     undefinedNames dummyHandle msg|
 
     handle := self loadDynamicObject:aFileName.
     handle isNil ifTrue:[
@@ -971,7 +971,13 @@
         ].
         self listUndefinedSymbolsIn:handle.
         self unloadDynamicObject:handle.
-        Transcript showCr:'module not loaded (no _Init entry in object file ?).'
+
+        (self namesMatching:'*__sepInitCode__*' segment:'[tT]' in:aFileName) notNil ifTrue:[
+            msg := 'module not loaded (no _Init entry - looks like a sepInitCode object).'
+        ] ifFalse:[
+            msg := 'module not loaded (no _Init entry in object file ?).'
+        ].
+        Transcript showCr:msg
     ].
 
     Smalltalk isInitialized ifTrue:[
@@ -982,7 +988,7 @@
     ].
     ^ true
 
-    "Modified: 17.4.1996 / 13:09:03 / cg"
+    "Modified: 17.4.1996 / 13:42:14 / cg"
 !
 
 reloadAllRememberedObjectFiles
@@ -3159,6 +3165,6 @@
 !ObjectFileLoader class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libcomp/ObjectFileLoader.st,v 1.90 1996-04-17 11:10:07 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libcomp/ObjectFileLoader.st,v 1.91 1996-04-17 11:42:56 cg Exp $'
 ! !
 ObjectFileLoader initialize!