On 2015-08-05 10:32:48 -0400, Tom Lane wrote:
> Andres Freund <andres@anarazel.de> writes:
> > Wasn't the point that 32 bit AIX as a whole hasn't been supported for a
> > couple years now? My willingness to expend effort for that is rather
> > limited.
>
> Well, there's one in the buildfarm.
Oh nice. That's new. I see it has been added less than a week ago ;)
> We don't generally turn off buildfarm critters just because the
> underlying OS is out of support (the population would be quite a bit
> lower if we did).
I didn't know there was a buildfarm animal. We'd been pleading a bunch
of people over the last few years to add one. If there's an actual way
to see platforms breaking I'm more accepting to try and keep them alive.
> > I mean I'd otherwise ok with a PG_FORCE_DISABLE_INLINE flag that takes
> > effect in c.h or so. That could easily be set in src/template/aix. Might
> > also be useful for investigatory purposes every couple years or so.
>
> +1, that could have other use-cases.
Ok, lets' do it that way then. It seems the easiest way to test for this
is to use something like
# "IBM XL C/C++ for AIX, V12.1" miscompiles, for 32-bit, some inline
# expansions of ginCompareItemPointers() "long long" arithmetic. To
# take advantage of inlining, build a 64-bit PostgreSQL.
test $(getconf HARDWARE_BITMODE) == '32' then CFLAGS="$CFLAGS -DPG_FORCE_DISABLE_INLINE"
fi
in the xlc part of the template?
do we want to add something like
$as_echo "$as_me: WARNING: disabling inlining on 32 bit aix due to compiler bugs"
? Seems like a good idea to me.
Andres