Re: [GENERAL] OS X 10.11.3, psql, bus error 10, 9.5.1 - Mailing list pgsql-hackers

From Tom Lane
Subject Re: [GENERAL] OS X 10.11.3, psql, bus error 10, 9.5.1
Date
Msg-id 19034.1457823491@sss.pgh.pa.us
Whole thread Raw
Responses Re: [GENERAL] OS X 10.11.3, psql, bus error 10, 9.5.1
Re: [GENERAL] OS X 10.11.3, psql, bus error 10, 9.5.1
List pgsql-hackers
I wrote:
> That's confusing because it implies that -fno-common is the default,
> which it evidently is not.  But anyway, my diagnosis is that you're
> breaking something about the linker's behavior with that switch.

Oh!  Looking closer, the core dump happens here:

const printTextFormat pg_utf8format;
printTextFormat *popt = (printTextFormat *) &pg_utf8format;

-->    popt->name = "unicode";

So apparently, the relevant property of "-fno-common" is that it
causes "const" variables to actually get placed in read-only data.

I think this code is new in 9.5, which'd explain why you didn't see
the failure with older PG versions.  It's surely busted though.

I shall get rid of the const-ness, as well as the lame casting away
of it, and I think I will also go make buildfarm member longfin use
"-fno-common".  It is truly sad that we apparently have no test
machine that enforces that const means const ...
        regards, tom lane



pgsql-hackers by date:

Previous
From: Peter Geoghegan
Date:
Subject: Re: Refactoring speculative insertion with unique indexes a little
Next
From: Tomas Vondra
Date:
Subject: Re: Refectoring of receivelog.c