Re: vprintf error in Squid 2.5.STABLE10

From: Henrik Nordstrom <hno@dont-contact.us>
Date: Wed, 31 Aug 2005 01:01:36 +0200 (CEST)

On Tue, 30 Aug 2005, Peter Smith wrote:

>> On Tue, 30 Aug 2005, Peter Smith wrote:
>>
>>> gcc -DHAVE_CONFIG_H -DDEFAULT_CONFIG_FILE=\"/etc/squid/squid.conf\" -I.
>>> -I. -I../include -I. -I. -I../include -I../include -O2 -g -pipe
>>> -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -m32 -march=i686 -mtune=pentium4
>>> -fasynchronous-unwind-tables -D_REENTRANT -c `test -f Packer.c || echo
>>> './'`Packer.c
>>> Packer.c:165:41: error: macro "vprintf" passed 3 arguments, but takes just
>>> 2

The culpit is -D_FORTIFY_SOURCE=2 which pollutes the C name space by
redefining vprintf and lots of other functions as macros. This crashes
code like Squid which uses the same identifier in other contexts (i.e.
struct members), similar to how we crashed IP-Filter on Solaris..

Regards
Henrik
Received on Tue Aug 30 2005 - 17:01:39 MDT

This archive was generated by hypermail pre-2.1.9 : Wed Aug 31 2005 - 12:00:06 MDT