Hi,
Antoine van Gelder <[EMAIL PROTECTED]> writes:
>>> _local_object= *(oop *)dlsym(global, "_libid_object");
>>>
>>> It's not finding the symbol _libid_object so returning 0 and
>>> segfaulting during the cast.
>> What happens if you manually edit the problem statement to add an
>> additional "_" in front of "_libid_object"?
That symbol only exists in object/idc/CManagedCodeGenerator.st:
_local_object= *(oop *)dlsym(global, "_libid_object");
Attached is a patch that gets libjolt to build and run jest a little
further: now it crashes with the following...
$ ./jest
Object.st:102 Object backtrace
Object.st:148 Object error:
Compiler.st:920 Compiler errorSyntax:
Compiler.st:303 Compiler translateExpression:
Compiler.st:271 Expression translate:
Compiler.st:961 Compiler compile:for:
Compiler.st:995 Object _eval
libjolt.st:38 Jolt initialise
syntax error: ()
$
Upon a cursory glance, perhaps the "(let () ...)" constructs in boot.h
are giving it trouble for some reason? That's the only place with a
"()".
--
Michael FIG <[EMAIL PROTECTED]> //\
http://michael.fig.org/ \//
diff -r 747cfa3909a1 function/examples/libjolt/Makefile
--- a/function/examples/libjolt/Makefile Fri Nov 16 01:28:58 2007 -0600
+++ b/function/examples/libjolt/Makefile Fri Nov 16 01:39:39 2007 -0600
@@ -61,8 +62,8 @@ libjolt.o : boot.h
libjolt.o : boot.h
libjolt.a : libjolt.o
- ld -r libjolt.o $(OBJECTS)/*.o $(MPINT)/*.o $(JOLT_OBJ_FILES) $(OBJ)/gc.a \
- $(OBJ)/libid.o -o [EMAIL PROTECTED]
+ ld -r libjolt.o $(OBJECTS)/*.o $(MPINT)/*.o $(JOLT_OBJ_FILES) \
+ $(OBJ)/libid.o $(OBJ)/gc.a -o [EMAIL PROTECTED]
ar rsc [EMAIL PROTECTED] [EMAIL PROTECTED]
rm [EMAIL PROTECTED]
mv [EMAIL PROTECTED] $@
diff -r 747cfa3909a1 function/objects/sigalrm.h
--- a/function/objects/sigalrm.h Fri Nov 16 01:28:58 2007 -0600
+++ b/function/objects/sigalrm.h Fri Nov 16 01:39:39 2007 -0600
@@ -1,3 +1,5 @@ static oop sigalrmReceiver= 0;
+#include <signal.h>
+
static oop sigalrmReceiver= 0;
static oop sigalrmSelector= 0;
diff -r 747cfa3909a1 object/id/libid.c
--- a/object/id/libid.c Fri Nov 16 01:28:58 2007 -0600
+++ b/object/id/libid.c Fri Nov 16 01:39:39 2007 -0600
@@ -163,7 +163,8 @@ struct t__object
};
static oop _object_vtable= 0;
-static oop _object= 0;
+#define _object _libid_object
+oop _object= 0;
oop _libid_nil_vtable= 0;
oop _libid_tag_vtable= 0;
@@ -1039,7 +1040,8 @@ struct __libid *_libid_init(int *argcp,
_libid.dlsym = dlsym;
_libid.dlclose = dlclose;
- _libid._object = _object;
+#undef _object
+ _libid._object = _libid_object;
_libid.nil_vtable = _libid_nil_vtable;
_libid.tag_vtable = _libid_tag_vtable;
_______________________________________________
fonc mailing list
[email protected]
http://vpri.org/mailman/listinfo/fonc