gdb/hppa-tdep.c: Fix logical working flow issues and check additional store instructions.
authorChen Gang <gang.chen.5i5j@gmail.com>
Thu, 22 Jan 2015 12:47:10 +0000 (20:47 +0800)
committerChen Gang <gang.chen.5i5j@gmail.com>
Thu, 22 Jan 2015 12:47:10 +0000 (20:47 +0800)
commitb35018fd7a627d94a24f4650b1d2e7cfca31f3e1
treeb5e99f0b27c246f1810e48ede4b59841b63d63a7
parent4e5cb37e7f3403d5398a323566ff9c995f0c9a81
gdb/hppa-tdep.c: Fix logical working flow issues and check additional store instructions.

Original working flow has several issues:

 - typo issue: "(inst >> 26) == 0x1f && ..." for checking 'stw(m)'.

 - "(inst >> 6) == 0xa" needs to be "((inst >> 6) & 0xf) == 0xa".

And also need check additional store instructions:

 - For absolute memory: 'stby', 'stdby'.

 - For unaligned: 'stwa', 'stda'.

The original code also can be improved:

 - Remove redundant double check "(inst >> 26) == 0x1b" for 'stwm'.

 - Use 2 'switch' statements instead of all 'if' statements.

* hppa-tdep.c (inst_saves_gr): Fix logical working flow issues
and check additional store instructions.
gdb/ChangeLog
gdb/hppa-tdep.c