Commit Graph
17 Commits
Author SHA1 Message Date
Ryan C. Gordon d3e686276b Fixups fixes. 2016-09-26 12:13:18 -04:00
Ryan C. Gordon 41e66c9071 Some more work on getting DLLs working. 2016-09-25 14:21:31 -04:00
Ryan C. Gordon c3d9945942 Fixup source offsets are signed values (and sometimes negative!). 2016-09-25 14:20:20 -04:00
Ryan C. Gordon 17a64c9407 Don't load modules that are marked as non-loadable.
(Whatever that means in practice.)
2016-09-25 11:06:34 -04:00
Ryan C. Gordon b82eabcdac Try loading modules at random locations and see what happens. 2016-09-24 01:06:00 -04:00
Ryan C. Gordon ce8215ff40 Realign the stack before calling _exit().
Just in case I ever get this working on macOS.  :)
2016-09-24 01:05:33 -04:00
Ryan C. Gordon acb3c5c42e Get exported ordinals parsed, fixup correct pages. 2016-09-23 23:55:10 -04:00
Ryan C. Gordon 1a21e64a51 Fixed typo. 2016-09-23 23:54:36 -04:00
Ryan C. Gordon dbda4e03d0 Corrected entry ordinals in lx_dump, a few other things. 2016-09-23 00:27:50 -04:00
Ryan C. Gordon 817af8d715 Load all the object pages into memory before fixing them up.
Otherwise, we might fixup a page that isn't loaded yet!
2016-09-22 10:46:42 -04:00
Ryan C. Gordon 443bcf2178 Huge reworking to get shared libraries (and native replacements) working.
Not there yet, but the framework is pretty close to what I want.
2016-09-21 03:38:20 -04:00
Ryan C. Gordon 1d8ad0ce35 Extremely initial work on dealing with external modules. 2016-09-20 00:48:56 -04:00
Ryan C. Gordon 45eebeaa3f lx_dump: modules are indexed from 1, not zero. 2016-09-19 23:08:25 -04:00
Ryan C. Gordon dbacb96215 Don't map resource objects.
For one, they generally have a base address of 0x0, but also, we're probably
going to load/parse these into a hashtable somewhere in the loader
and use that for resource lookups instead of parsing LX binaries during
DosGetResource(), and that is more of a malloc() thing than an mmap() thing.
2016-09-19 23:02:21 -04:00
Ryan C. Gordon 5aff2d5b02 Fixed mmap execute flags.
(I guess on i386, PROT_READ implies PROT_EXEC anyhow.)
2016-09-19 22:02:12 -04:00
Ryan C. Gordon b9bc6d88d7 Added a simple README. 2016-09-19 19:56:04 -04:00
Ryan C. Gordon 161cde892e Initial add. Runs exactly one program.
Run make.sh on a Linux box to see it run tests/hello.exe!
2016-09-19 19:41:11 -04:00