Re: [BUGS] Compile fails on AIX 6.1

From: Noah Misch <noah(at)leadboat(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-hackers(at)postgreSQL(dot)org
Subject: Re: [BUGS] Compile fails on AIX 6.1
Date: 2015-08-28 07:02:03
Message-ID: 20150828070203.GA2534837@tornado.leadboat.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-hackers

On Thu, Aug 27, 2015 at 10:36:46AM -0400, Tom Lane wrote:
> the problem is that
> IBM's assembler doesn't understand the "local symbol" notation supported
> by the GNU assembler ("bne 1f" referencing the next occurrence of "1:").
> So s_lock.h's PowerPC assembly code works if you have gcc configured to
> use gas as backend, but not if it's configured to use the native AIX
> assembler. Steve says the latter configuration is pretty common.

These days, the latter configuration is all but universal. Per the GCC
installation instructions, "The GNU Assembler has not been updated to support
AIX 6 or AIX 7."

> So now that we know what is happening, what do we want to do about it?
> AFAICS there are two plausible ways to fix it:
>
> 1. Add a configure-time test to see if the assembler supports local
> symbols. If not, don't try to use the lwarx assembly stanza, but let
> it fall through to using _check_lock(). This would be simple but
> there would presumably be some performance hit.
>
> 2. Don't rely on local symbols in the PPC spinlock assembly code. This
> is a bit ugly, because the only way to do that is to hard-code branch
> offsets, as in the attached draft patch. If there were any likelihood
> that we'd be changing the PPC spinlock code in future, I would regard
> this as unmaintainable ... but really, that code is pretty static.
> So I think this is a viable alternative.

A third option is to use __sync intrinsics, like we do on ARM. I like (2).

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tatsuo Ishii 2015-08-28 07:09:21 Re: BUG #13593: ERROR: cannot find xlog functions
Previous Message Michael Paquier 2015-08-28 02:39:29 Re: BUG #13593: ERROR: cannot find xlog functions

Browse pgsql-hackers by date

  From Date Subject
Next Message Simon Riggs 2015-08-28 07:16:20 Re: 9.5 feature count
Previous Message Fabien COELHO 2015-08-28 05:48:28 Re: patch: version_stamp.pl: Add Git commit info to version if 'git' is specified