提交 8cfdfa9c 编写于 作者: A Alex Dowad 提交者: Rich Felker

fix misinterpretation of indexed memory operand in i386 CFI generation

a register used as an index in the memory destination of a mov
instruction was wrongly interpreted as the destination of the mov.
上级 fef9c801
...@@ -184,7 +184,7 @@ function trashed(register) { ...@@ -184,7 +184,7 @@ function trashed(register) {
} }
# this does NOT exhaustively check for all possible instructions which could # this does NOT exhaustively check for all possible instructions which could
# overwrite a register value inherited from the caller (just the common ones) # overwrite a register value inherited from the caller (just the common ones)
/mov.*,%e(ax|bx|cx|dx|si|di|bp)/ { trashed(get_reg2()) } /mov.*,%e(ax|bx|cx|dx|si|di|bp)$/ { trashed(get_reg2()) }
/(add|addl|sub|subl|and|or|xor|lea|sal|sar|shl|shr).*,%e(ax|bx|cx|dx|si|di|bp)$/ { /(add|addl|sub|subl|and|or|xor|lea|sal|sar|shl|shr).*,%e(ax|bx|cx|dx|si|di|bp)$/ {
trashed(get_reg2()) trashed(get_reg2())
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册