Re: BUG #15844: MIPS: remove .set mips2 in s_lock.h to fix r6 build
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: wzssyqa@gmail.com
Cc: pgsql-bugs@lists.postgresql.org
Date: 2019-06-13T19:53:15Z
Lists: pgsql-bugs
PG Bug reporting form <noreply@postgresql.org> writes: > MIPS r6 changes the encoding of LL/SC instruction, > while the .set mips2 will force assembler to generate > old encoding. > ... > In fact if we not willing to support MIPS I or any CPU without ll/sc > at all, we can just remove .set mips2 here. After further digging around, I'm liking the alternative of just removing the ".set mips2" lines. MIPS-I has been obsolete since 1989, and the MIPS-II instruction set has a lot of other substantial advantages over MIPS-I besides having LL/SC, so it's pretty hard to believe that anyone is still using toolchains that default to assuming MIPS-I instruction set. Digging around in our archives, it looks like ".set mips2" was required when it was added, but that was on the strength of testing with a machine running Linux 2.4.27-r5k-cobalt. We need to research when/if Linux changed their default configuration. regards, tom lane
Commits
-
Fix spinlock assembly code for MIPS so it works on MIPS r6.
- 9895e3a36a72 9.6.15 landed
- 40dde829070d 11.5 landed
- 36d2c3ad33f8 9.5.19 landed
- 2854e2ab6806 9.4.24 landed
- 1323bfce5510 12.0 landed
- 05399b14889e 10.10 landed