[moved to devel] | | With regards to gnu linux: | How about the Elf format? | Is it possible to export code from an elf? (i.e. export functions) |
Okay, I researched the topic. Of course, yes, you can export functions from an executable on linux. But freepascal doesn't seem to like it just yet. It must be done supposedly with the -E option to the linker (ld) or -export-dynamic (gcc is -rdynamic) This of course, was after modifying the compiler to parse the exports keyword properly [psub.pas] else if islibrary or (target_info.system in [system_i386_linux,system {<<<inserted this}<SNIP>]) then read_exports So after getting the parsing of the exports keyword set up to work, I tried passing the -E option in freepascal compiler (the -k option as also seen in the lazarus linker options tab) After compiling a program, with an export it didn't seem to work properly. It compiles okay, but when I run it two writeln('test')'s appear instead of one, and the program quits without an error. So now the next thing to figure out, is why exports from an executable on linux won't work even when you pass the -E or export-dynamic option to LD. I'm guessing the symbols aren't being placed in the object files correctly for the linker to use, or they aren't being placed there at all. If you guys have any tips let me know.. I'll be looking into the compiler sources more, probably the sections that write the object files now. _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel