Changeset 2884
- Timestamp:
- Nov 18, 2006, 1:55:48 PM (19 years ago)
- Location:
- trunk/kLdr
- Files:
-
- 2 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/kLdr/Makefile.kmk
r2883 r2884 130 130 kLdrExeStub-os2_ASTOOL = NASM 131 131 kLdrExeStub-os2_ASFLAGS = -f obj 132 kLdrExeStub-os2_LDFLAGS = -nostdlib 132 #kLdrExeStub-os2_LDFLAGS = -nostdlib 133 kLdrExeStub-os2_LDFLAGS = -nostdlib -Zstack 64 133 134 kLdrExeStub-os2_LIBS = $(TARGET_kLdr) 134 kLdrExeStub-os2_SOURCES = kLdrExeStub-os2.asm 135 #kLdrExeStub-os2_SOURCES = kLdrExeStub-os2.asm 136 kLdrExeStub-os2_SOURCES = kLdrExeStub-os2A.asm kLdrExeStub-os2.c 135 137 136 138 # -
trunk/kLdr/kLdr-os2.def
r2834 r2884 29 29 DATA MULTIPLE 30 30 EXPORTS 31 ; Process Bootstrapping and exec: 32 _kLdrLoadExe 31 ; The file reader API 32 _kLdrRdrAddProvider 33 _kLdrRdrOpen 34 _kLdrRdrClose 35 _kLdrRdrRead 36 _kLdrRdrAllMap 37 _kLdrRdrAllUnmap 38 _kLdrRdrSize 39 _kLdrRdrTell 40 _kLdrRdrName 41 _kLdrRdrPageSize 42 _kLdrRdrMap 43 _kLdrRdrRefresh 44 _kLdrRdrProtect 45 _kLdrRdrUnmap 46 _kLdrRdrDone 47 48 ; The module interpreter API 49 _kLdrModOpen 50 _kLdrModOpenFromRdr 51 _kLdrModOpenNative 52 _kLdrModOpenNativeByHandle 53 _kLdrModClose 54 _kLdrModQuerySymbol 55 _kLdrModEnumSymbols 56 _kLdrModGetImport 57 _kLdrModNumberOfImports 58 _kLdrModCanExecuteOn 59 _kLdrModGetStackInfo 60 _kLdrModQueryMainEntrypoint 61 _kLdrModEnumDbgInfo 62 _kLdrModHasDbgInfo 63 _kLdrModMap 64 _kLdrModUnmap 65 _kLdrModAllocTLS 66 _kLdrModFreeTLS 67 _kLdrModReload 68 _kLdrModFixupMapping 69 _kLdrModCallInit 70 _kLdrModCallTerm 71 _kLdrModCallThread 72 _kLdrModSize 73 _kLdrModGetBits 74 _kLdrModRelocateBits 75 76 ; Process Bootstrapping 77 _kLdrDyldLoadExe 78 79 ; Dynamic loading 80 _kLdrDyldLoad 81 _kLdrDyldUnload 82 _kLdrDyldFindByName 83 _kLdrDyldFindByAddress 84 _kLdrDyldGetName 85 _kLdrDyldGetFilename 86 _kLdrDyldQuerySymbol 87 33 88 34 89 ; OS/2 API wrappers: -
trunk/kLdr/kLdrA-os2.asm
r2834 r2884 39 39 ; kLdrLoadExe wrapper which loads the bootstrap stack. 40 40 ; 41 global _k ldrLoadExe42 _k ldrLoadExe:41 global _kLdrDyldLoadExe 42 _kLdrDyldLoadExe: 43 43 push ebp 44 44 mov ebp, esp 45 45 46 46 ; switch stack. 47 extern _abStack48 lea esp, [_abStack + 8192 - 4]47 ; extern _abStack 48 ; lea esp, [_abStack + 8192 - 4] 49 49 push dword [ebp + 8 + 20] 50 50 push dword [ebp + 8 + 16] … … 53 53 54 54 ; call worker on the new stack. 55 extern kLdrLoadExe56 call kLdrLoadExe55 extern _kldrDyldLoadExe 56 call _kldrDyldLoadExe 57 57 58 58 ; we shouldn't return! -
trunk/kLdr/kLdrExeStub-os2.asm
r2834 r2884 13 13 14 14 struc KLDRARGS 15 .fFlags resd 260 15 .fFlags resd 1 16 .enmSearch resd 1 16 17 .szExecutable resb 260 17 .szLibPath resb (4096 - 260 - 260 - 8) 18 .szDefPrefix resb 16 19 .szDefSuffix resb 16 20 .szLibPath resb (4096 - (4 + 4 + 16 + 16 + 260)) 18 21 endstruc 19 22 20 extern _kLdr LoadExe23 extern _kLdrDyldLoadExe 21 24 22 25 … … 24 27 ..start: 25 28 push args 26 jmp _kLdr LoadExe29 jmp _kLdrDyldLoadExe 27 30 28 31 ; … … 33 36 istruc KLDRARGS 34 37 at KLDRARGS.fFlags, dd 0 35 at KLDRARGS.szExecutable, db 'hello.lx' 38 at KLDRARGS.enmSearch, dd 2 ;KLDRDYLD_SEARCH_HOST 39 at KLDRARGS.szDefPrefix, db '' 40 at KLDRARGS.szDefSuffix, db '.dll' 41 ; at KLDRARGS.szExecutable, db 'tst-0.exe' 36 42 at KLDRARGS.szLibPath, db '' 37 43 iend -
trunk/kLdr/tstkLdrHeap.c
r2826 r2884 44 44 45 45 #define CHECK(expr) \ 46 do { if (!(expr)) { printf("tstkLdrHeap(%d): ERROR - %s\n", __LINE__, #expr); cErrors++; __debugbreak();} \46 do { if (!(expr)) { printf("tstkLdrHeap(%d): ERROR - %s\n", __LINE__, #expr); cErrors++; kldrHlpBreakpoint();} \ 47 47 } while (0) 48 48
Note:
See TracChangeset
for help on using the changeset viewer.