Something to play with. I have the beginning of a pdp11 linker to go with the macro11 simh tool. It is in an early version, and many things don't work yet, but it can handle some simple programs, like the hello world program included in the test subdirectory. It needs a lot more work to handle larger, more complicated programs.
It is quite limited currently, and has little error checking code, I only coded the parts necessary to build the hello program, but it should be a decent starting point. Some limitations include: - psects of 256 bytes or less. - only handles a few of the relocations (1-4, but not 5-17) - only produces an lda or a simh script - no common psects - only handles rt11 object files - does not handle object libraries - many more. It's part of 'http://github.com/khandy21yo/emutools.git', in the link11 subdirectory. It is coded in C++, and uses cmake to build. It includes the source of the 'unix archive' linker in this subdirectory, but that one is far from working. The documentation is quite lacking at the moment. It only started working right yesterday for my test program. ~/emutools/link11/test$ ls *.obj hello.obj putconch.obj ~/emutools/link11/test$ ../link11 hello.obj putconch.obj -lda hello.lda :~/emutools/link11/test$ pdp11 PDP-11 simulator V4.0-0 Current git commit id: f95ac7dd sim> load hello.lda sim> g Hello world! HALT instruction, PC: 001040 (ADD (R5)+,(R0)) sim> exit Goodbye
_______________________________________________ Simh mailing list [email protected] http://mailman.trailing-edge.com/mailman/listinfo/simh
