Displaying 4 results from an estimated 4 matches for "dllmemmgr".
2019 Feb 25
2
[IR][AsmPrinter][MCJIT]: ensure every x64 "CALL" to Jit function uses relative address
Hi Lang,
That would be great ! :)
For now I found a hack which consist of loading a "full of NOP" DLL, use my
own DllMemMgr which allocates JIT sections inside the DLL virtual space,
backup the memory inside some buffers, unload the DLL, copy the buffer
inside the DLL file, create the PDB, reload the DLL file which hopefully in
99% is reloaded at the same virtual address (this allow me to debug with
PDB after reload). I...
2019 Feb 09
2
[IR][AsmPrinter][MCJIT]: ensure every x64 "CALL" to Jit function uses relative address
Sorry I meant 0xE8, 0xFF was in my head because of disassembling and seeing
it in use, my bad.
Ok I didn't thought about PIC, that's a good idea ! ... I forgot it
existed at the wrong moment I guess ...
How can I modify the GOT then ?
Is there an api somewhere in the execution engine / MCJIT ?
Or is it somewhere else ?
Or I need to accept the idea of hacking stuff inside the LLVM code
2019 Jan 28
3
[llvm-pdbutil] : merge not working properly
...al editor to change ".text" section Characteristics from
Read/Execute to Read/Write/Execute
- run my program which does JIT compilation
- get the start RVA of the .text section (which is always 0x1000 in my case)
- Load the .DLL and use the ModuleAddress+RVA as a memory buffer in a
custom DllMemMgr I give to MCJIT
- On NotifyObjectEmitted replace the dll pdb by a custom one I build myself
with your PDBFileBuilder
- On finalizing memory, reload first the dll to trigger visual studio pdb
reloading (not working don't know why yet), ensure it goes into the same
virtual space, protect memory u...
2019 Jan 23
2
[llvm-pdbutil] : merge not working properly
(Yes you are right this is my fault)
Considering the string table, it only seems to contains file relative
informations in every pdb I am using, and it looks correct but I will check
it.
I looked at the pdb.cpp code about checksums and tables, I copied some
stuff and got things wrong according to cvdump, then I simplified the
process of copying the table and it worked (in cvdump it finds the file