I am using the "parseThat" program that ships with Dyninst. Executed it as:
parseThat --binary-edit=ssh-dyn -i 0 /usr/bin/ssh On Wed, Jun 1, 2016 at 1:07 PM John Detter <[email protected]> wrote: > Can you send me the source for the program you're using to do the > rewriting? > -- John > > > On 6/1/2016 12:04 PM, Mohamed Elsabagh wrote: > > No. Ubuntu 16.04 x86_64. > > On Wed, Jun 1, 2016 at 12:47 PM John Detter <[email protected]> wrote: > >> Mohamed, >> >> Is this on Windows? >> >> -- John >> >> On 5/31/2016 6:25 PM, Mohamed Elsabagh wrote: >> >> Hi John, >> >> I pulled the latest commits to master. Now I don't get any errors, but >> the resulting executable file still doesn't run. It gives the same error: >> "cannot >> execute binary file: Exec format error." Any suggestions? >> >> Mohamed >> >> >> >> On Tue, May 31, 2016 at 6:24 PM John Detter <[email protected]> wrote: >> >>> Hey Mohamed, >>> >>> We found the issue that was causing the assert and we updated the master >>> branch on github. If you want to clone or pull the most recent version it >>> should have the fix for your issue. >>> >>> Let me know if you have any other issues, >>> >>> -- John >>> On 5/31/2016 3:57 PM, Mohamed Elsabagh wrote: >>> >>> Hi Josh, >>> >>> I just tried again, on a vanilla VM and a fresh clone from >>> https://github.com/dyninst/dyninst.git, and I am still getting the same >>> exact message on stderr: >>> >>> decodeOneOperand() called with unknown addressing method 18 >>> >>> And the resulting binary does not run: Exec format error. >>> >>> I also tried: `parseThat --binary-edit=ssh.dyn -i 0 /us/bin/ssh`, and >>> the resulting binary (ssh.dyn) also fails to load, giving the same Exec >>> format error. >>> >>> When I run `file ssh.dyn`, the output shows no interpreter. >>> >>> What do you think? >>> >>> Mohamed >>> >>> >>> On Tue, May 31, 2016 at 3:26 PM John Detter <[email protected]> wrote: >>> >>>> Mohamed, >>>> >>>> I did a fresh clone from github and I was able to instrument >>>> /usr/bin/ssh on Ubuntu 16.04 server addition, are you sure you are setting >>>> your LD_LIBRARY_PATH, C_INCLUDE_PATH and CPLUS_INCLUDE_PATH to the right >>>> directories? You may be installing the newly built libraries into a >>>> directory that isn't being searched by GCC. >>>> >>>> If you are installing globally and you are installing into `/usr/local` >>>> you may have to include these directories in your environment: >>>> >>>> export LD_LIBRARY_PATH="/usr/local/lib" >>>> >>>> export C_INCLUDE_PATH="/usr/local/include" >>>> >>>> export CPLUS_INCLUDE_PATH="/usr/local/include" >>>> >>>> If you are still having issues, could you send me a tarball of your >>>> dyninst directory (source included)? That way I know we're both looking at >>>> the same thing. >>>> -- John >>>> >>>> >>>> On 5/31/2016 12:52 PM, Mohamed Elsabagh wrote: >>>> >>>> Yes, that's what I did. I did a fresh clone and install from >>>> github.com/dyninst/dyninst. But I am now getting a different error: >>>> >>>> decodeOneOperand() called with unknown addressing method 18 >>>> >>>> And even though the output binary is created, it does not execute (exec >>>> format error). >>>> >>>> Again, I am testing with /usr/bin/ssh on Ubuntu 16.04, without any >>>> instrumentation (open, get default module, get procedures, save). >>>> >>>> Thanks, >>>> Mohamed >>>> >>>> >>>> >>>> >>>> >>>> On Tue, May 31, 2016 at 1:22 PM John Detter <[email protected]> wrote: >>>> >>>>> Mohamed >>>>> >>>>> git.dyninst.org is now just a mirror and unfortunately it looks like >>>>> it isn't quite up to date. http://github.com/dyninst/dyninst will get >>>>> you the latest commits. >>>>> >>>>> If you want to update your origin: >>>>> >>>>> git remote remove origin >>>>> >>>>> git remote add origin http://github.com/dyninst/dyninst >>>>> >>>>> git pull origin master >>>>> >>>>> -- John >>>>> >>>>> On 5/31/2016 11:57 AM, Mohamed Elsabagh wrote: >>>>> >>>>> Hi John, >>>>> >>>>> I pulled the latest commit from git.dyninst.org, which resulted in >>>>> the error in my previous email. >>>>> >>>>> Now using a clone from the github path your provided, I am getting the >>>>> following message on stderr: >>>>> >>>>> decodeOneOperand() called with unknown addressing method 18 >>>>> >>>>> And even though the output binary is created, it does not execute >>>>> (exec format error). >>>>> >>>>> Again, I am testing with /usr/bin/ssh on Ubuntu 16.04, without any >>>>> instrumentation (open, get default module, get procedures, save). >>>>> >>>>> Thanks, >>>>> Mohamed >>>>> >>>>> >>>>> On Tue, May 31, 2016 at 11:37 AM John Detter <[email protected]> wrote: >>>>> >>>>>> Mohamed, >>>>>> >>>>>> Are you sure you are using the latest master? In my version of >>>>>> arch-x86.C line 7993 isn't inside the ia32_decode function. Could you >>>>>> try pulling from master and rebuilding/rerunning? If you could provide >>>>>> another stack trace that would be really helpful. >>>>>> >>>>>> -- John >>>>>> >>>>>> P.S. here is the latest commit information for master >>>>>> (http://github.com/dyninst/dyninst): >>>>>> >>>>>> commit df1523dd4003107b959046dd047402642f530c43 >>>>>> Merge: 85cebd3 06c649f >>>>>> Author: Bill Williams <[email protected]> >>>>>> Date: Fri May 27 14:37:50 2016 -0500 >>>>>> >>>>>> Merge pull request #61 from >>>>>> dyninst/Functions_not_filed_into_correct_Modules >>>>>> >>>>>> Fix Function/Module mapping >>>>>> >>>>>> On 5/30/2016 9:06 PM, Mohamed Elsabagh wrote: >>>>>> > There seems to be a different issue now: calling getProcedures() on >>>>>> > the default module of a stripped PIE results in an assertion failure >>>>>> > at common/src/arc-x86.C:7993. It seems that the heuristic gap parser >>>>>> > is trying to decode the assembly as x86_32 instead of x86_64 (I may >>>>>> be >>>>>> > wrong though). Exact stack trace is attached. >>>>>> > >>>>>> > This is triggered by simply opening the binary, getting the default >>>>>> > module, then calling getProcedure. >>>>>> > >>>>>> > Sample offending program is /usr/bin/ssh on Ubuntu 16.04 x86_64. >>>>>> >>>>>> >>>>> >>>> >>> >> >
_______________________________________________ Dyninst-api mailing list [email protected] https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api
