ObjectFileLoader.st
changeset 98 ccc7f9389a8e
parent 97 3b0d380771e9
child 100 6df9644528bd
--- a/ObjectFileLoader.st	Mon Jul 03 04:38:59 1995 +0200
+++ b/ObjectFileLoader.st	Sun Jul 23 04:24:56 1995 +0200
@@ -21,7 +21,7 @@
 COPYRIGHT (c) 1993 by Claus Gittinger
 	     All Rights Reserved
 
-$Header: /cvs/stx/stx/libcomp/ObjectFileLoader.st,v 1.27 1995-07-03 02:38:34 claus Exp $
+$Header: /cvs/stx/stx/libcomp/ObjectFileLoader.st,v 1.28 1995-07-23 02:23:48 claus Exp $
 '!
 
 !ObjectFileLoader class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
 
 version
 "
-$Header: /cvs/stx/stx/libcomp/ObjectFileLoader.st,v 1.27 1995-07-03 02:38:34 claus Exp $
+$Header: /cvs/stx/stx/libcomp/ObjectFileLoader.st,v 1.28 1995-07-23 02:23:48 claus Exp $
 "
 !
 
@@ -104,7 +104,7 @@
 # define HAS_DL
 #endif
 
-#ifdef aix
+#ifdef _AIX
 # define AIX_DL
 # define HAS_DL
 #endif
@@ -1082,9 +1082,9 @@
     }
 
     if (__isString(pathName)) {
-	if (dld_link(_stringVal(pathName))) {
+	if (dld_link(__stringVal(pathName))) {
 	    if (ObjectFileLoader_Verbose == true) {
-		printf ("link file %s failed\n", _stringVal(pathName));
+		printf ("link file %s failed\n", __stringVal(pathName));
 		dld_perror("cant link");
 	    }
 	    ObjectFileLoader_LastError = @symbol(linkError);
@@ -1100,9 +1100,9 @@
     char *ldname;
 
     if (__isString(pathName)) {
-	if ( dl_loadmod_only(__myName__, _stringVal(pathName), &ldname) == 0 ) {
+	if ( dl_loadmod_only(__myName__, __stringVal(pathName), &ldname) == 0 ) {
 	    if (ObjectFileLoader_Verbose == true) {
-		printf ("link file %s failed\n", _stringVal(pathName));
+		printf ("link file %s failed\n", __stringVal(pathName));
 	    }
 	    RETURN ( nil );
 	}
@@ -1123,14 +1123,14 @@
     if (__isString(pathName)) {
 	if (__isArray(aBuffer)
 	 && (_arraySize(aBuffer) == 2)) {;
-	    if ( (handle = load(_stringVal(pathName), 0, 0)) == 0 ) {
+	    if ( (handle = load(__stringVal(pathName), 0, 0)) == 0 ) {
 		if (ObjectFileLoader_Verbose == true) {
-		    printf ("link file %s failed\n", _stringVal(pathName));
+		    printf ("load file %s failed\n", __stringVal(pathName));
 		}
 		RETURN ( nil );
 	    }
 	    if (ObjectFileLoader_Verbose == true)
-		printf("load %s handle = %x\n", _stringVal(pathName), handle);
+		printf("load %s handle = %x\n", __stringVal(pathName), handle);
 
 	    _ArrayInstPtr(aBuffer)->a_element[0] = 
 				       _MKSMALLINT( (int)handle & 0xFFFF );
@@ -1144,24 +1144,25 @@
 
 #ifdef SYSV4_DL
     void *handle;
+    char *nm;
 
     if ((pathName == nil) || __isString(pathName)) {
 	if (__isArray(aBuffer)
 	 && (_arraySize(aBuffer) == 2)) {;
-	    if (pathName == nil)
-		handle = dlopen((char *)0, RTLD_NOW);
-	    else
-		handle = dlopen(_stringVal(pathName), RTLD_NOW);
+	    handle = dlopen(pathName == nil ? 
+				(char *)0 : 
+				__stringVal(pathName), 
+			    RTLD_NOW);
 
 	    if (! handle) {
 		fprintf(stderr, "dlopen %s error: <%s>\n", 
-				_stringVal(pathName), dlerror());
+				__stringVal(pathName), dlerror());
 		ObjectFileLoader_LastError = @symbol(linkError);
 		RETURN (nil);
 	    }
 
 	    if (ObjectFileLoader_Verbose == true)
-		printf("open %s handle = %x\n", _stringVal(pathName), handle);
+		printf("open %s handle = %x\n", __stringVal(pathName), handle);
 
 	    _ArrayInstPtr(aBuffer)->a_element[0] = 
 				       _MKSMALLINT( (int)handle & 0xFFFF );
@@ -1181,17 +1182,17 @@
 	    if (pathName == nil)
 		handle = dlopen((char *)0, 1);
 	    else
-		handle = dlopen(_stringVal(pathName), 1);
+		handle = dlopen(__stringVal(pathName), 1);
 
 	    if (! handle) {
 		fprintf(stderr, "dlopen %s error: <%s>\n", 
-				_stringVal(pathName), dlerror());
+				__stringVal(pathName), dlerror());
 		ObjectFileLoader_LastError = @symbol(linkError);
 		RETURN (nil);
 	    }
 
 	    if (ObjectFileLoader_Verbose == true)
-		printf("open %s handle = %x\n", _stringVal(pathName), handle);
+		printf("open %s handle = %x\n", __stringVal(pathName), handle);
 
 	    _ArrayInstPtr(aBuffer)->a_element[0] = 
 				       _MKSMALLINT( (int)handle & 0xFFFF );
@@ -1208,7 +1209,7 @@
     NXStream *errOut;
 
     if (__isString(pathName)) {
-	files[0] = (char *) _stringVal(pathName);
+	files[0] = (char *) __stringVal(pathName);
 	files[1] = (char *) 0;
 	errOut = NXOpenFile(2, 2);
 	result = rld_load(errOut,
@@ -1218,12 +1219,12 @@
 	NXClose(errOut);
 	if (! result) {
 	    ObjectFileLoader_LastError = @symbol(linkError);
-	    fprintf(stderr, "rld_load %s failed\n", _stringVal(pathName));
+	    fprintf(stderr, "rld_load %s failed\n", __stringVal(pathName));
 	    RETURN (nil);
 	}
 
 	if (ObjectFileLoader_Verbose == true)
-	    printf("rld_load %s ok\n", _stringVal(pathName));
+	    printf("rld_load %s ok\n", __stringVal(pathName));
 
 	RETURN (pathName);
     }
@@ -1263,9 +1264,9 @@
 %{
 #ifdef GNU_DL
     if (__isString(handle)) {
-	if (dld_unlink_by_file(_stringVal(handle), 1)) {
+	if (dld_unlink_by_file(__stringVal(handle), 1)) {
 	    if (ObjectFileLoader_Verbose == true) {
-		printf ("unlink file %s failed\n", _stringVal(handle));
+		printf ("unlink file %s failed\n", __stringVal(handle));
 		dld_perror("cant unlink");
 	    }
 	    RETURN (false);
@@ -1423,7 +1424,7 @@
     char *name;
 
     if (__isString(aString)) {
-	name = (char *) _stringVal(aString);
+	name = (char *) __stringVal(aString);
 	if (isFunction == false) {
 	    addr = dld_get_symbol(name);
 	} else {
@@ -1470,8 +1471,8 @@
 	if (__isString(handle)) {
 	    if (ObjectFileLoader_Verbose == true)
 		printf("get sym <%s> handle = %x\n",
-			_stringVal(aString), _stringVal(handle));
-	    addr = dl_getsymbol(_stringVal(handle), _stringVal(aString));
+			__stringVal(aString), __stringVal(handle));
+	    addr = dl_getsymbol(__stringVal(handle), __stringVal(aString));
 	    if (addr) {
 		if (ObjectFileLoader_Verbose == true)
 		    printf("addr = %x\n", addr);
@@ -1479,7 +1480,7 @@
 		hiAddr = _MKSMALLINT( ((int)addr >> 16) & 0xFFFF );
 	    } else {
 		if (ObjectFileLoader_Verbose == true)
-		    printf("dl_getsymbol %s failed\n", _stringVal(aString));
+		    printf("dl_getsymbol %s failed\n", __stringVal(aString));
 	    }
 	}
     }
@@ -1503,8 +1504,8 @@
 	h = (void *)(val);
 	if (__isString(aString)) {
 	    if (ObjectFileLoader_Verbose == true)
-		printf("get sym <%s> handle = %x\n", _stringVal(aString), h);
-	    addr = dlsym(h, (char *) _stringVal(aString));
+		printf("get sym <%s> handle = %x\n", __stringVal(aString), h);
+	    addr = dlsym(h, (char *) __stringVal(aString));
 	    if (addr) {
 		if (ObjectFileLoader_Verbose == true)
 		    printf("addr = %x\n", addr);
@@ -1512,7 +1513,7 @@
 		hiAddr = _MKSMALLINT( ((int)addr >> 16) & 0xFFFF );
 	    } else {
 		if (ObjectFileLoader_Verbose == true)
-		    printf("dlsym %s error: %s\n", _stringVal(aString), dlerror());
+		    printf("dlsym %s error: %s\n", __stringVal(aString), dlerror());
 	    }
 	}
     }
@@ -1540,12 +1541,12 @@
 	if (__isString(aString)) {
 	    if (ObjectFileLoader_Verbose == true)
 		printf("get sym <%s> handle = %x file = %s\n", 
-			_stringVal(aString), h, _stringVal(fileName));
+			__stringVal(aString), h, __stringVal(fileName));
 
-	    nl[0].n_name = _stringVal(aString);
+	    nl[0].n_name = __stringVal(aString);
 	    nl[1].n_name = "";
 
-	    if (nlist(_stringVal(fileName), &nl) == -1) {
+	    if (nlist(__stringVal(fileName), &nl) == -1) {
 		if (ObjectFileLoader_Verbose == true)
 		    printf("nlist error\n");
 	    } else {
@@ -1575,8 +1576,8 @@
 	h = (void *)(val);
 	if (__isString(aString)) {
 	    if (ObjectFileLoader_Verbose == true)
-		printf("get sym <%s> handle = %x\n", _stringVal(aString), h);
-	    addr = dlsym(h, _stringVal(aString));
+		printf("get sym <%s> handle = %x\n", __stringVal(aString), h);
+	    addr = dlsym(h, __stringVal(aString));
 	    if (addr) {
 		if (ObjectFileLoader_Verbose == true)
 		    printf("addr = %x\n", addr);
@@ -1584,7 +1585,7 @@
 		hiAddr = _MKSMALLINT( ((int)addr >> 16) & 0xFFFF );
 	    } else {
 		if (ObjectFileLoader_Verbose == true)
-		    printf("dlsym %s error: %s\n", _stringVal(aString), dlerror());
+		    printf("dlsym %s error: %s\n", __stringVal(aString), dlerror());
 	    }
 	}
     }
@@ -1597,10 +1598,10 @@
 
     if (__isString(aString)) {
 	if (ObjectFileLoader_Verbose == true)
-	    printf("get sym <%s>\n", _stringVal(aString));
+	    printf("get sym <%s>\n", __stringVal(aString));
 	errOut = NXOpenFile(2, 2);
 	result = rld_lookup(errOut,
-			    (char *) _stringVal(aString),
+			    (char *) __stringVal(aString),
 			    &addr);
 	NXClose(errOut);
 	if (result) {
@@ -1823,7 +1824,6 @@
     unsigned val;
     typedef void (*VOIDFUNC)();
     int savInt;
-    extern int __immediateInterrupt__;
     int prevSpace, force;
     int arg = 0;
     int wasBlocked = 1;
@@ -1839,10 +1839,6 @@
 	    /*
 	     * allow function to be interrupted
 	     */
-#ifdef OLD
-	    savInt = __immediateInterrupt__;
-	    __immediateInterrupt__ = 1;
-#endif
 	    if (interruptable != true) {
 		wasBlocked = (__BLOCKINTERRUPTS() == true);
 	    }
@@ -1864,9 +1860,6 @@
 	    if (! wasBlocked) {
 		__UNBLOCKINTERRUPTS();
 	    }
-#ifdef OLD
-	    __immediateInterrupt__ = savInt;
-#endif
 	    RETURN (self);
 	}
     }
@@ -1880,20 +1873,12 @@
 
 %{
     int savInt;
-    extern int __immediateInterrupt__;
     int prevSpace, force;
     int arg = 0;
     int wasBlocked = 1;
     extern OBJ __BLOCKINTERRUPTS();
 
     if (_isSmallInteger(phase)) {
-	/*
-	 * allow function to be interrupted
-	 */
-#ifdef OLD
-	savInt = __immediateInterrupt__;
-	__immediateInterrupt__ = 1;
-#endif
 	if (interruptable != true) {
 	    wasBlocked = (__BLOCKINTERRUPTS() == true);
 	}
@@ -1912,9 +1897,6 @@
 	if (! wasBlocked) {
 	    __UNBLOCKINTERRUPTS();
 	}
-#ifdef OLD
-	__immediateInterrupt__ = savInt;
-#endif
 	RETURN (self);
     }
 %}.
@@ -1941,7 +1923,7 @@
 	RETURN (nil);
     }
 
-    fname = (char *) _stringVal(aFileName);
+    fname = (char *) __stringVal(aFileName);
 
 # if defined(A_DOT_OUT) && !defined(ELF)
 #  if !defined(sco) && !defined(isc)
@@ -1995,7 +1977,7 @@
 	RETURN ( nil );
     }
 
-    fname = (char *) _stringVal(aFileName);
+    fname = (char *) __stringVal(aFileName);
 
 # if defined(A_DOT_OUT) && !defined(ELF)
 #  if !defined(sco) && !defined(isc)
@@ -2058,7 +2040,7 @@
 # if defined(A_DOT_OUT) && !defined(ELF)
 #  if !defined(sco) && !defined(isc)
     {
-	char *fname = (char *) _stringVal(aFileName);
+	char *fname = (char *) __stringVal(aFileName);
 	unsigned taddr, daddr;
 	unsigned tsize, dsize;
 	unsigned toffset = 0;