Thread: Re: [COMMITTERS] pgsql: Disable _FORTIFY_SOURCE with ICC

Re: [COMMITTERS] pgsql: Disable _FORTIFY_SOURCE with ICC

From
Tom Lane
Date:
Peter Eisentraut <peter_e@gmx.net> writes:
> On Tue, 2012-10-02 at 17:05 +0100, Peter Geoghegan wrote:
>> /usr/include/features.h:314:4: warning: #warning _FORTIFY_SOURCE
>> requires compiling with optimization (-O) [-Wcpp]

> Which glibc version is this?  (Run /lib/libc.so)

I've seen this warning in recent Fedora builds, though not on my F16
production box.  Some googling suggests the locution

#if __OPTIMIZE__
#define _FORTIFY_SOURCE 2
#endif

but I've not tested that.
        regards, tom lane



Re: [COMMITTERS] pgsql: Disable _FORTIFY_SOURCE with ICC

From
Tom Lane
Date:
I wrote:
> I've seen this warning in recent Fedora builds, though not on my F16
> production box.  Some googling suggests the locution

> #if __OPTIMIZE__
> #define _FORTIFY_SOURCE 2
> #endif

> but I've not tested that.

A bit later: testing on an F17 box (glibc-2.15-56.fc17.x86_64)
confirms Peter G's complaint, and also confirms that putting
the above into port/linux.h (instead of the template file) fixes the
problem.  Don't know how to disable it on ICC, but I suppose there's
some way to test for ICC via an #if.
        regards, tom lane



Re: [COMMITTERS] pgsql: Disable _FORTIFY_SOURCE with ICC

From
Peter Geoghegan
Date:
On 5 October 2012 04:37, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> A bit later: testing on an F17 box (glibc-2.15-56.fc17.x86_64)
> confirms Peter G's complaint, and also confirms that putting
> the above into port/linux.h (instead of the template file) fixes the
> problem.  Don't know how to disable it on ICC, but I suppose there's
> some way to test for ICC via an #if.

I was using F17 + glibc 2.15 too.

http://www.acsu.buffalo.edu/~charngda/icc.html indicates that ICC
defines a macro __ICC, which evaluates to an integer constant
representing the ICC version numbers. I guess that that particular
source isn't very trustworthy, but that's what we have a build farm
for.

Small patch that hopefully fixes everything for everyone is attached.
However, when I build at -O2 with the system GCC (on the same F17 box
with no changes to CFLAGS; just "./configure --with-libxml
--prefix=/home/peter/pgsql --enable-depend") this patch (when applied
to today's master) sees the following warnings raised:

zic.c: In function ‘writezone’:
zic.c:1752:3: warning: ignoring return value of ‘fwrite’, declared
with attribute warn_unused_result [-Wunused-result]
zic.c:1753:3: warning: ignoring return value of ‘fwrite’, declared
with attribute warn_unused_result [-Wunused-result]
zic.c:1754:3: warning: ignoring return value of ‘fwrite’, declared
with attribute warn_unused_result [-Wunused-result]
zic.c:1755:3: warning: ignoring return value of ‘fwrite’, declared
with attribute warn_unused_result [-Wunused-result]
zic.c:1756:3: warning: ignoring return value of ‘fwrite’, declared
with attribute warn_unused_result [-Wunused-result]
zic.c:1757:3: warning: ignoring return value of ‘fwrite’, declared
with attribute warn_unused_result [-Wunused-result]
zic.c:1758:3: warning: ignoring return value of ‘fwrite’, declared
with attribute warn_unused_result [-Wunused-result]
zic.c:1759:3: warning: ignoring return value of ‘fwrite’, declared
with attribute warn_unused_result [-Wunused-result]
zic.c:1760:3: warning: ignoring return value of ‘fwrite’, declared
with attribute warn_unused_result [-Wunused-result]
zic.c:1772:4: warning: ignoring return value of ‘fwrite’, declared
with attribute warn_unused_result [-Wunused-result]
zic.c:1785:4: warning: ignoring return value of ‘fwrite’, declared
with attribute warn_unused_result [-Wunused-result]
zic.c: In function ‘puttzcode64’:
zic.c:1514:2: warning: ignoring return value of ‘fwrite’, declared
with attribute warn_unused_result [-Wunused-result]
zic.c: In function ‘puttzcode’:
zic.c:1505:2: warning: ignoring return value of ‘fwrite’, declared
with attribute warn_unused_result [-Wunused-result]
In file included from gram.y:13502:0:
scan.c: In function ‘yy_try_NUL_trans’:
scan.c:16247:23: warning: unused variable ‘yyg’ [-Wunused-variable]

--
Peter Geoghegan       http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training and Services

Attachment

Re: [COMMITTERS] pgsql: Disable _FORTIFY_SOURCE with ICC

From
Peter Geoghegan
Date:
On 8 October 2012 14:39, Peter Geoghegan <peter@2ndquadrant.com> wrote:
> Small patch that hopefully fixes everything for everyone is attached.

Will someone take a look at this, please?

-- 
Peter Geoghegan       http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training and Services



Re: [COMMITTERS] pgsql: Disable _FORTIFY_SOURCE with ICC

From
Peter Eisentraut
Date:
On Wed, 2012-10-10 at 11:29 +0100, Peter Geoghegan wrote:
> On 8 October 2012 14:39, Peter Geoghegan <peter@2ndquadrant.com> wrote:
> > Small patch that hopefully fixes everything for everyone is attached.
> 
> Will someone take a look at this, please?

I've removed it.  It had too many problems.