https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78176
--- Comment #26 from Thomas De Schampheleire <patrickdepinguin at gmail dot com> --- (In reply to Thomas De Schampheleire from comment #25) > Is it possible that this same problem is applicable on the 'lwx' instruction? > I am using MIPS64 n32. > > I first saw the original problem as described in this bug with instruction > 'lwxc1'. I then used the suggested compilation flag -mno-lxc1-sxc1 which > removed that problem. > > However, in another place in the code I get a SIGBUS on following > instruction: > > lwx v1,a5(v1) > > where: > v1: ffffffffeb623870 > a5: ffffffff8a4ee1c4 > > The exception shows: > badvaddr: ffffffff75b11a34 > > If you sum the lower 32 bits of v1+a5 you get '175b11a34' (i.e. 33 bits). > Truncated to 32 bits, this is the value you see in badvaddr. > Nevertheless, this address is inside a mapped and read/writable memory > range, from /proc/PID/maps: > > 75b00000-75b21000 rw-p 00000000 00:00 0 > > This behavior looks very similar to this bug's description. > > If this same problem indeed also applies to 'lwx', is there a workaround for > it? This is observed with gcc 7.3.0.