Date: Tue, 13 Oct 2015 18:42:04 -0400 From: Rich Felker <dalias@...c.org> To: musl@...ts.openwall.com Subject: Re: [PATCHv3 1/3] fix matching errors for overwritten registers in x86 CFI generation script On Tue, Oct 13, 2015 at 01:28:50PM +0200, Alex Dowad wrote: > thanks to R. Felker for noticing 2 separate problems: > > - binary ops like ADD, AND, etc. overwrite the 2nd operand, not the 1st. > this confusion resulted from mixing up Intel and GNU asm syntax. > > - the regexps used to identify clobbered registers would erroneously match > index registers. in other words, the following asm: > > mov $0, (%eax,%ebx,4) > > ....would cause EBX to be considered as overwritten, which might prevent a > debugger from displaying a variable's value in a higher stack frame. > --- > > Here is the latest iteration. I have merged 2 previously separate commits, and > fixed up the matching of registers (for the purpose of identifying overwritten > registers). > > As usual, thanks for the feedback. AD Thanks! I'm committing them all now. I'm sorry for not catching this before -- I realized that the index register thing was also an existing bug in mov handling, not just a new bug added in the operand order patch, so I split it out into a separate commit. I did basic regression testing on i386 (making sure gdb backtrace from syscalls still works) and tested that the x86_64 also seems to work (it does). Rich
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.