diff options
author | Jan Kratochvil <jan.kratochvil@redhat.com> | 2018-02-05 20:19:49 +0100 |
---|---|---|
committer | Jan Kratochvil <jan.kratochvil@redhat.com> | 2018-02-05 20:20:23 +0100 |
commit | 72dd27306224497c8ba97f391d30b774d4d973fb (patch) | |
tree | e0cd49afb674e25a9799fe7ac765045e2cb0f8b7 | |
parent | 279b2f94168ee91e02ccd070d27c983fc001fe12 (diff) | |
download | gdb-72dd27306224497c8ba97f391d30b774d4d973fb.zip gdb-72dd27306224497c8ba97f391d30b774d4d973fb.tar.gz gdb-72dd27306224497c8ba97f391d30b774d4d973fb.tar.bz2 |
ppc64: Fix stwux encoding
With gcc-8.0.1-0.9.fc28.x86_64 I get:
../../gdb/rs6000-tdep.c: In function 'CORE_ADDR skip_prologue(gdbarch*, CORE_ADDR, CORE_ADDR, rs6000_framedata*)':
../../gdb/rs6000-tdep.c:1911:34: error: bitwise comparison always evaluates to false [-Werror=tautological-compare]
else if ((op & 0xfc1f016a) == 0x7c01016e)
~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
https://www.ibm.com/support/knowledgecenter/en/ssw_aix_72/com.ibm.aix.alangref/idalangref_stwux_stux_instrs.htm
says
bit 21 - 30 = 183
Those are bits 1..10 in normal bit order: 183<<1 = 0x16e
gdb/ChangeLog
2018-02-04 Jan Kratochvil <jan.kratochvil@redhat.com>
* rs6000-tdep.c (skip_prologue): Fix stwux encoding.
-rw-r--r-- | gdb/rs6000-tdep.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c index 794605f..70dc55f 100644 --- a/gdb/rs6000-tdep.c +++ b/gdb/rs6000-tdep.c @@ -1857,7 +1857,7 @@ skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc, CORE_ADDR lim_pc, offset = fdata->offset; continue; } - else if ((op & 0xfc1f016a) == 0x7c01016e) + else if ((op & 0xfc1f016e) == 0x7c01016e) { /* stwux rX,r1,rY */ /* No way to figure out what r1 is going to be. */ fdata->frameless = 0; |