--- a/ObjectFileLoader.st Sun Jan 07 14:07:29 1996 +0100
+++ b/ObjectFileLoader.st Wed Jan 10 12:51:44 1996 +0100
@@ -364,6 +364,37 @@
"
!
+loadableBinaryObjectFormat
+ "return a symbol describing the expected binary format
+ for object files to be loadable.
+ This is very machine specific."
+
+%{ /* NOCONTEXT */
+#ifdef HAS_DL
+# if defined(SYSV4) || defined(ELF)
+ RETURN ( @symbol(elf));
+# endif
+# if defined(GNU_DL)
+ RETURN ( @symbol(aout));
+# endif
+# if defined(AIX_DL)
+ RETURN ( @symbol(xcoff));
+# endif
+# if defined(DL1_6)
+ RETURN ( @symbol(coff));
+# endif
+# if defined(WIN_DL)
+ RETURN ( @symbol(dll));
+# endif
+#endif
+%}.
+ ^ nil
+
+ "
+ ObjectFileLoader loadableBinaryObjectFormat
+ "
+!
+
needSeparateIDSpaces
"return true, if we need separate I and D spaces.
This is only needed if no dynamic-link facilitiy exists."
@@ -435,37 +466,6 @@
"
ObjectFileLoader validBinaryExtensions
"
-!
-
-loadableBinaryObjectFormat
- "return a symbol describing the expected binary format
- for object files to be loadable.
- This is very machine specific."
-
-%{ /* NOCONTEXT */
-#ifdef HAS_DL
-# if defined(SYSV4) || defined(ELF)
- RETURN ( @symbol(elf));
-# endif
-# if defined(GNU_DL)
- RETURN ( @symbol(aout));
-# endif
-# if defined(AIX_DL)
- RETURN ( @symbol(xcoff));
-# endif
-# if defined(DL1_6)
- RETURN ( @symbol(coff));
-# endif
-# if defined(WIN_DL)
- RETURN ( @symbol(dll));
-# endif
-#endif
-%}.
- ^ nil
-
- "
- ObjectFileLoader loadableBinaryObjectFormat
- "
! !
!ObjectFileLoader class methodsFor:'dynamic class loading'!
@@ -2360,39 +2360,40 @@
createLoadableObjectFor:baseFileName
|oFileName soFileName needSharedObject ldArg|
+ needSharedObject := false.
OperatingSystem getOSType = 'irix' ifTrue:[
- "
- link it to a shared object with 'ld -shared'
- "
- needSharedObject := true.
- ldArg := '-shared'.
+ "
+ link it to a shared object with 'ld -shared'
+ "
+ needSharedObject := true.
+ ldArg := '-shared'.
].
OperatingSystem getOSType = 'sys5_4' ifTrue:[
- "
- link it to a shared object with 'ld -G'
- "
- needSharedObject := true.
- ldArg := '-G'.
+ "
+ link it to a shared object with 'ld -G'
+ "
+ needSharedObject := true.
+ ldArg := '-G'.
].
OperatingSystem getOSType = 'linux' ifTrue:[
- ObjectFileLoader loadableBinaryObjectFormat == #elf ifTrue:[
- "
- link it to a shared object with 'ld -shared'
- "
- needSharedObject := true.
- ldArg := '-shared'.
- ]
+ ObjectFileLoader loadableBinaryObjectFormat == #elf ifTrue:[
+ "
+ link it to a shared object with 'ld -shared'
+ "
+ needSharedObject := true.
+ ldArg := '-shared'.
+ ]
].
+ oFileName := './' , baseFileName , '.o'.
needSharedObject ifTrue:[
- oFileName := './' , baseFileName , '.o'.
- soFileName := './' , baseFileName , '.so'.
- OperatingSystem executeCommand:'rm -f ' , soFileName.
- OperatingSystem executeCommand:'ld ' , ldArg , ' -o ' , soFileName , ' ' , oFileName.
- OperatingSystem removeFile:oFileName.
- ^ soFileName.
+ soFileName := './' , baseFileName , '.so'.
+ OperatingSystem executeCommand:'rm -f ' , soFileName.
+ OperatingSystem executeCommand:'ld ' , ldArg , ' -o ' , soFileName , ' ' , oFileName.
+ OperatingSystem removeFile:oFileName.
+ ^ soFileName.
].
"
@@ -3075,6 +3076,6 @@
!ObjectFileLoader class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libcomp/ObjectFileLoader.st,v 1.73 1996-01-05 16:38:28 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libcomp/ObjectFileLoader.st,v 1.74 1996-01-10 11:51:44 ca Exp $'
! !
ObjectFileLoader initialize!