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-13T14:07: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.
> This patch can fix this problem.

So I have a bunch of questions about this patch.

1. What problem is this actually solving?  We have what I think are
reasonably modern MIPS machines in the buildfarm (frogfish,
topminnow) and they aren't complaining.

2. What toolchains define __mips_isa_rev at all?  Seems like we could
be trading one portability issue for another one.

3. If we actually need something here, don't we need a run-time probe
rather than a compile-time check?  Distro packagers, for example,
can't assume that their packages will be run on exactly the hardware
they build on.

			regards, tom lane



Commits

  1. Fix spinlock assembly code for MIPS so it works on MIPS r6.