Re: [DynInst_API:] BPatch_binaryEdit openBinary crashing
On 02/11/2015 05:03 AM, Aleksandar Nikolic wrote: Hi, looking at the codebase, a lot of code seems to already be there. I'll be getting to know the code in more details. Any directions into what would need to be implemented or what parts are missing? Thanks, Alex The biggest thing that needs implementation/testing/updating is an analogue to the emitElf* files in SymtabAPI; that's what takes the modified data in Symtab and produces a new, loadable binary file. There are other bits of glue that are undoubtedly missing (for instance, the assert you ran into). And one of the big challenges that I know is different on Windows is that every absolute memory reference in the dyninstInst section (relocated/instrumented code) needs to have an associated relocation added in order to load anywhere other than its preferred base address. (We could get around this by transforming all code we relocate to be position-independent, but that's a cure that may be worse than the disease.) On 02/08/2015 10:59 PM, Barton Miller wrote: BTW, if there are any individuals or groups that would like to work on getting rewriting to work on Windows, we'd be happy to provide support. Not a small effort but interesting and worthwhile. --bart On 2/6/2015 4:36 PM, Bill Williams wrote: No, and not exactly. Windows binary rewriting is not supported, and is documented as such. If it were to be supported, what you are doing would work quite reasonably. ___ Dyninst-api mailing list Dyninst-api@cs.wisc.edu https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api ___ Dyninst-api mailing list Dyninst-api@cs.wisc.edu https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api -- --bw Bill Williams Paradyn Project b...@cs.wisc.edu ___ Dyninst-api mailing list Dyninst-api@cs.wisc.edu https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api
Re: [DynInst_API:] TLS-based trampguard patch
I'm not sure if this patch should have solved my problem with the maximum number of threads but with this version I still have the same problem. If I don't increase the MAX_THREADS constant my instrumented process still hangs after creating around 40 threads. Tested on 64bits Gentoo Linux with kernel version 3.18.3-gentoo. Gerard 2015-02-06 21:54 GMT+01:00 Bill Williams b...@cs.wisc.edu: As per discussion earlier this week, here's an initial implementation of TLS-based trampguards. It is not yet pushed to master; I've tested it locally but it has not been through serious cross-platform validation yet. Treat as experimental. This should (mostly) obviate our hard-coded thread limits, and should produce modestly better performance in multithreaded code. These changes will not work with an old dyninst runtime library at present; that's backwards compatibility that I can wedge back in if anyone particularly cares. As always, feedback (both good and bad) is encouraged. --bw Bill Williams Paradyn Project b...@cs.wisc.edu ___ Dyninst-api mailing list Dyninst-api@cs.wisc.edu https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api ___ Dyninst-api mailing list Dyninst-api@cs.wisc.edu https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api
Re: [DynInst_API:] BPatch_binaryEdit openBinary crashing
Hi, looking at the codebase, a lot of code seems to already be there. I'll be getting to know the code in more details. Any directions into what would need to be implemented or what parts are missing? Thanks, Alex On 02/08/2015 10:59 PM, Barton Miller wrote: BTW, if there are any individuals or groups that would like to work on getting rewriting to work on Windows, we'd be happy to provide support. Not a small effort but interesting and worthwhile. --bart On 2/6/2015 4:36 PM, Bill Williams wrote: No, and not exactly. Windows binary rewriting is not supported, and is documented as such. If it were to be supported, what you are doing would work quite reasonably. ___ Dyninst-api mailing list Dyninst-api@cs.wisc.edu https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api ___ Dyninst-api mailing list Dyninst-api@cs.wisc.edu https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api