Path: utzoo!attcan!uunet!mailrus!ncar!boulder!hartzell From: hartzell@boulder.colorado.edu (George Hartzell) Newsgroups: comp.sys.mips Subject: ls -A and the MIPS Keywords: fasl, executable text space. Message-ID: <14057@boulder.Colorado.EDU> Date: 19 Nov 89 21:48:29 GMT Sender: news@boulder.Colorado.EDU Reply-To: hartzell@boulder.colorado.edu (George Hartzell) Organization: University of Colorado, Boulder Lines: 35 I am working on a port of ELK (a scheme interpreter) to our M2000 running RISCos 4.01 with the 2.10 beta compilers. I have everything but "dynamic loading" working (apparently this is also known as fasl'ing). Here is what the author says is required to support CAN_DYNAMIC_LOAD. Dynamic loading: Define CAN_LOAD_OBJ if the target system enables dynamic loading of object files. This requires that the system linker (/bin/ld) supports the -A and -T options for incremental loading and that the data space in the interpreter is executable, i.e. that it is possible to derive a function pointer to an object that has been loaded into data space. In addition, it requires that your system supports the BSD-style a.out format; the current release of the software does not support dynamic loading for other a.out file formats (such as COFF). I've written the support for the MIPS object format and Third Eye symbol tables, and have ld -A -T working (after building G0 copies of a library or two...). I can read in the resulting OMAGIC file, and can determine the address of a function that I want to call. The result is always a segmentation fault. Before I spend too much more time figuring out why this isn't working, is there someone out there who can tell me IF IT IS POSSIBLE? e.g. can I call a function pointer that points into my data space? Do I have to do something special to do this? Is it impossible? Any help would be appreciated. g. George Hartzell (303) 492-4535 MCD Biology, University of Colorado-Boulder, Boulder, CO 80309 hartzell@Boulder.Colorado.EDU ..!{ncar,nbires}!boulder!hartzell