Original date:2017-02-09 16:20:35 Edited by: petelomax Subject: Re: iup fails to load Linux so

One small step in the right direction:

In pbinary.e line 2227 I added a 64-bit loader:

string interpreter = "/lib/\0" 
string interpreter64 = "/lib64/\0" 

and changed the last 4 of the 8 uses accordingly.

Rebuilding m01 (uploaded as above) and running that gets me to "Segmentation fault" (Yeehah!).

There is quite probably a fair bit of relocation stuff missing...


EDIT: .. and patching out those three calls:
hello world

! ! ! smile

EDIT2: missing push/pop rdi/rsi found in pHeap.e/LeaveCriticalSection....

EDIT3: got 32-bit working by following

EDIT4: I know what the problem is now: it is creating a TCB (Thread control block) for the global pool, which should be 1028 bytes long, but then somehow creating another TCB at offset 32 inside the first TCB, and right now my gdb-fu (which would struggle to fight its way out of a wet paper bag) is not good enough to figure out precisely why.

EDIT5: installed a copy of fdbg for lnx64 which is way better than gdb (for my purposes anyway)

EDIT6: ... and libc works better if you use the right calling convention oops

Not Categorized, Please Help


Quick Links

User menu

Not signed in.

Misc Menu