|From:||Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>|
|To:||YunQiang Su <wzssyqa(at)gmail(dot)com>|
|Subject:||Re: BUG #15844: MIPS: remove .set mips2 in s_lock.h to fix r6 build|
|Views:||Raw Message | Whole Thread | Download mbox | Resend email|
YunQiang Su <wzssyqa(at)gmail(dot)com> writes:
> Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> 于2019年6月14日周五 上午3:53写道：
>> 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.
> You are right. I have no idea anyone is using MIPS I.
After further looking, it seems that isn't going to fly. I found from
the Debian release notes that they dropped MIPS-I support as of Stretch,
which means removing ".set mips2" would break both of our live MIPS
buildfarm machines (which run wheezy and jessie). I also found by
experimentation that NetBSD as of 7.0.2 doesn't default to assuming
MIPS2 either. (I didn't try anything newer, but a scan through the
port-mips mailing list found no suggestion that they've changed the
default since then.) So even though the hardware in use nowadays might
be fine with this, the toolchains are still behind the times.
So we'll have to go with the #if solution, I think. But I dislike
hardwiring "#if __mips_isa_rev >= 6" into s_lock.h. I'd suggest
modeling this hack on our rather-ancient hacks for similar problems
with PPC: put something like this into pg_config_manual.h
#if __mips_isa_rev >= 6
(with a suitable comment) and then make s_lock.h do
" .set mips2 \n"
That'll make it a lot easier for people to tweak the condition
if they need to.
regards, tom lane
|Next Message||YunQiang Su||2019-06-16 03:52:54||Re: BUG #15844: MIPS: remove .set mips2 in s_lock.h to fix r6 build|
|Previous Message||YunQiang Su||2019-06-16 01:49:28||Re: BUG #15844: MIPS: remove .set mips2 in s_lock.h to fix r6 build|