Re: "errno" not set in case of "libm" functions (HPUX)
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Ibrar Ahmed <ibrar.ahmad@gmail.com>
Cc: pgsql-hackers@postgresql.org
Date: 2011-05-24T17:44:09Z
Lists: pgsql-hackers
Ibrar Ahmed <ibrar.ahmad@gmail.com> writes: > I have found a problem which is specifically related to "HP-UX" compiler. > All 'libm' functions on "HP-UX Integrity server" do not set "errno" by > default. For 'errno' setting we should compile the code using +Olibmerrno > option. So we should add this option in "/src/makefiles/Makefile.hpux". This patch will break things on my admittedly rather ancient HPUX box: $ cc +Olibmerrno cc: warning 450: Unrecognized option +Olibmerrno. As submitted, it would also break gcc-based builds, though that at least wouldn't be hard to fix. If you want to submit a configure patch to test whether the switch is appropriate, we could consider it. BTW, is it really true that HP decided they could make the compiler's default behavior violate the C standard so flagrantly? I could believe offering a switch that you had to specify to save a few cycles at the cost of nonstandard behavior; but if your report is actually correct, their engineering standards have gone way downhill since I worked there. I wonder whether you are inserting some other nonstandard switch that turns on this effect. regards, tom lane