Mercurial > hg > nginx-vendor-0-7
annotate auto/cc/gcc @ 508:68c0ae0a4959 NGINX_0_7_66
nginx 0.7.66
*) Security: now nginx/Windows ignores default file stream name.
Thanks to Jose Antonio Vazquez Gonzalez.
*) Change: now the charset filter runs before the SSI filter.
*) Change: now no message is written in an error log if a variable is
not found by $r->variable() method.
*) Change: now keepalive connections after POST requests are not
disabled for MSIE 7.0+.
Thanks to Adam Lounds.
*) Feature: the "proxy_no_cache" and "fastcgi_no_cache" directives.
*) Feature: now the "rewrite" directive does a redirect automatically
if the $scheme variable is used.
Thanks to Piotr Sikora.
*) Feature: the "chunked_transfer_encoding" directive.
*) Feature: the $geoip_city_continent_code, $geoip_latitude, and
$geoip_longitude variables.
Thanks to Arvind Sundararajan.
*) Feature: now the ngx_http_image_filter_module deletes always EXIF
and other application specific data if the data consume more than 5%
of a JPEG file.
*) Feature: now the "msie_padding" directive works for Chrome too.
*) Workaround: now keepalive connections are disabled for Safari.
Thanks to Joshua Sierles.
*) Bugfix: nginx ignored the "private" and "no-store" values in the
"Cache-Control" backend response header line.
*) Bugfix: an "&" character was not escaped when it was copied in
arguments part in a rewrite rule.
*) Bugfix: nginx might be terminated abnormally while a signal
processing or if the directive "timer_resolution" was used on
platforms which do not support kqueue or eventport notification
methods.
Thanks to George Xie and Maxim Dounin.
*) Bugfix: if temporary files and permanent storage area resided at
different file systems, then permanent file modification times were
incorrect.
Thanks to Maxim Dounin.
*) Bugfix: ngx_http_memcached_module might issue the error message
"memcached sent invalid trailer".
Thanks to Maxim Dounin.
*) Bugfix: nginx could not built zlib-1.2.4 library using the library
sources.
Thanks to Maxim Dounin.
*) Bugfix: values of the $query_string, $arg_..., etc. variables cached
in main request were used by the SSI module in subrequests.
*) Bugfix: nginx did not support HTTPS referrers.
*) Bugfix: nginx/Windows might not find file if path in configuration
was given in other character case; the bug had appeared in 0.7.65.
*) Bugfix: the $date_local variable has an incorrect value, if the "%s"
format was used.
Thanks to Maxim Dounin.
*) Bugfix: nginx did not support all ciphers and digests used in client
certificates.
Thanks to Innocenty Enikeew.
*) Bugfix: if ssl_session_cache was not set or was set to "none", then
during client certificate verify the error "session id context
uninitialized" might occur; the bug had appeared in 0.7.1.
*) Bugfix: OpenSSL-1.0.0 compatibility on 64-bit Linux.
Thanks to Maxim Dounin.
*) Bugfix: a geo range returned default value if the range included two
or more /16 networks and did not begin at /16 network boundary.
*) Bugfix: the $uid_got variable might not be used in the SSI and perl
modules.
*) Bugfix: a worker process hung if a FIFO file was requested.
Thanks to Vicente Aguilar and Maxim Dounin.
*) Bugfix: a variable value was repeatedly encoded after each an "echo"
SSI-command output; the bug had appeared in 0.6.14.
*) Bugfix: a "stub" parameter of an "include" SSI directive was not
used, if empty response has 200 status code.
*) Bugfix: a block used in a "stub" parameter of an "include" SSI
directive was output with "text/plain" MIME type.
*) Bugfix: if a proxied or FastCGI request was internally redirected to
another proxied or FastCGI location, then a segmentation fault might
occur in a worker process; the bug had appeared in 0.7.65.
Thanks to Yichun Zhang.
*) Bugfix: IMAP connections may hang until they timed out while talking
to Zimbra server.
Thanks to Alan Batie.
*) Bugfix: nginx did not support chunked transfer encoding for 201
responses.
Thanks to Julian Reich.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Mon, 07 Jun 2010 00:00:00 +0400 |
parents | 392c16f2d858 |
children |
rev | line source |
---|---|
4 | 1 |
2 # Copyright (C) Igor Sysoev | |
3 | |
4 | |
50 | 5 # gcc 2.7.2.3, 2.8.1, 2.95.4, egcs-1.1.2 |
46 | 6 # 3.0.4, 3.1.1, 3.2.3, 3.3.2, 3.3.3, 3.3.4, 3.4.0, 3.4.2 |
70 | 7 # 4.0.0, 4.0.1, 4.1.0 |
50 | 8 |
9 | |
10 NGX_GCC_VER=`$CC -v 2>&1 | grep 'gcc version' 2>&1 \ | |
11 | sed -e 's/^.* version \(.*\)/\1/'` | |
12 | |
13 echo " + gcc version: $NGX_GCC_VER" | |
4 | 14 |
106 | 15 have=NGX_COMPILER value="\"gcc $NGX_GCC_VER\"" . auto/define |
16 | |
4 | 17 |
18 # Solaris 7's /usr/ccs/bin/as does not support "-pipe" | |
19 | |
20 CC_TEST_FLAGS="-pipe" | |
21 | |
126 | 22 ngx_feature="gcc -pipe switch" |
4 | 23 ngx_feature_name= |
24 ngx_feature_run=no | |
25 ngx_feature_incs= | |
258 | 26 ngx_feature_path= |
4 | 27 ngx_feature_libs= |
28 ngx_feature_test= | |
29 . auto/feature | |
30 | |
31 CC_TEST_FLAGS= | |
32 | |
33 if [ $ngx_found = yes ]; then | |
34 PIPE="-pipe" | |
35 fi | |
36 | |
110 | 37 |
130 | 38 case "$NGX_MACHINE" in |
110 | 39 |
242 | 40 sun4u | sun4v | sparc | sparc64 ) |
112 | 41 # "-mcpu=v9" enables the "casa" assembler instruction |
110 | 42 CFLAGS="$CFLAGS -mcpu=v9" |
43 ;; | |
44 | |
45 esac | |
46 | |
47 | |
4 | 48 # optimizations |
49 | |
36 | 50 #NGX_GCC_OPT="-O2" |
51 #NGX_GCC_OPT="-Os" | |
52 NGX_GCC_OPT="-O" | |
53 | |
54 #CFLAGS="$CFLAGS -fomit-frame-pointer" | |
4 | 55 |
56 case $CPU in | |
57 pentium) | |
58 # optimize for Pentium and Athlon | |
59 CPU_OPT="-march=pentium" | |
138 | 60 NGX_CPU_CACHE_LINE=32 |
4 | 61 ;; |
62 | |
110 | 63 pentiumpro | pentium3) |
4 | 64 # optimize for Pentium Pro, Pentium II and Pentium III |
65 CPU_OPT="-march=pentiumpro" | |
138 | 66 NGX_CPU_CACHE_LINE=32 |
4 | 67 ;; |
68 | |
69 pentium4) | |
70 # optimize for Pentium 4, gcc 3.x | |
71 CPU_OPT="-march=pentium4" | |
138 | 72 NGX_CPU_CACHE_LINE=128 |
4 | 73 ;; |
74 | |
70 | 75 athlon) |
76 # optimize for Athlon, gcc 3.x | |
77 CPU_OPT="-march=athlon" | |
138 | 78 NGX_CPU_CACHE_LINE=64 |
70 | 79 ;; |
80 | |
58 | 81 opteron) |
82 # optimize for Opteron, gcc 3.x | |
83 CPU_OPT="-march=opteron" | |
138 | 84 NGX_CPU_CACHE_LINE=64 |
58 | 85 ;; |
86 | |
130 | 87 sparc32) |
88 # build 32-bit UltraSparc binary | |
89 CPU_OPT="-m32" | |
90 CORE_LINK="$CORE_LINK -m32" | |
91 CC_AUX_FLAGS="$CC_AUX_FLAGS -m32" | |
138 | 92 NGX_CPU_CACHE_LINE=64 |
130 | 93 ;; |
94 | |
4 | 95 sparc64) |
96 # build 64-bit UltraSparc binary | |
97 CPU_OPT="-m64" | |
98 CORE_LINK="$CORE_LINK -m64" | |
99 CC_AUX_FLAGS="$CC_AUX_FLAGS -m64" | |
138 | 100 NGX_CPU_CACHE_LINE=64 |
4 | 101 ;; |
102 | |
162 | 103 ppc64) |
104 # build 64-bit PowerPC binary | |
105 CPU_OPT="-m64" | |
106 CPU_OPT="$CPU_OPT -falign-functions=32 -falign-labels=32" | |
107 CPU_OPT="$CPU_OPT -falign-loops=32 -falign-jumps=32" | |
108 CORE_LINK="$CORE_LINK -m64" | |
109 CC_AUX_FLAGS="$CC_AUX_FLAGS -m64" | |
110 NGX_CPU_CACHE_LINE=128 | |
111 ;; | |
112 | |
4 | 113 esac |
114 | |
115 | |
50 | 116 case "$NGX_GCC_VER" in |
117 2.7*) | |
118 # batch build | |
119 CPU_OPT= | |
120 ;; | |
121 esac | |
4 | 122 |
123 | |
124 CFLAGS="$CFLAGS $PIPE $CPU_OPT" | |
125 | |
126 if [ ".$PCRE_OPT" = "." ]; then | |
127 PCRE_OPT="-O2 -fomit-frame-pointer $PIPE $CPU_OPT" | |
128 else | |
129 PCRE_OPT="$PCRE_OPT $PIPE" | |
130 fi | |
131 | |
132 if [ ".$MD5_OPT" = "." ]; then | |
133 MD5_OPT="-O2 -fomit-frame-pointer $PIPE $CPU_OPT" | |
134 else | |
135 MD5_OPT="$MD5_OPT $PIPE" | |
136 fi | |
137 | |
138 if [ ".$ZLIB_OPT" = "." ]; then | |
139 ZLIB_OPT="-O2 -fomit-frame-pointer $PIPE $CPU_OPT" | |
140 else | |
141 ZLIB_OPT="$ZLIB_OPT $PIPE" | |
142 fi | |
143 | |
144 | |
145 # warnings | |
146 | |
36 | 147 # -W requires at least -O |
274 | 148 CFLAGS="$CFLAGS ${NGX_GCC_OPT:--O} -W" |
36 | 149 |
4 | 150 CFLAGS="$CFLAGS -Wall -Wpointer-arith" |
126 | 151 #CFLAGS="$CFLAGS -Wconversion" |
4 | 152 #CFLAGS="$CFLAGS -Winline" |
153 | |
50 | 154 |
155 case "$NGX_GCC_VER" in | |
156 3.* | 4.* ) | |
157 # we have a lot of the unused function arguments | |
158 CFLAGS="$CFLAGS -Wno-unused-parameter" | |
482 | 159 CFLAGS="$CFLAGS -Wunused-function" |
112 | 160 CFLAGS="$CFLAGS -Wunused-variable" |
161 CFLAGS="$CFLAGS -Wunused-value" | |
482 | 162 # 4.2.1 shows the warning in wrong places |
50 | 163 #CFLAGS="$CFLAGS -Wunreachable-code" |
164 ;; | |
165 | |
166 *) | |
167 # we have a lot of the unused function arguments | |
168 CFLAGS="$CFLAGS -Wno-unused" | |
169 ;; | |
170 esac | |
171 | |
4 | 172 |
173 # stop on warning | |
174 CFLAGS="$CFLAGS -Werror" | |
175 | |
176 # debug | |
177 CFLAGS="$CFLAGS -g" | |
178 | |
179 # DragonFly's gcc3 generates DWARF | |
180 #CFLAGS="$CFLAGS -g -gstabs" | |
181 | |
182 if [ ".$CPP" = "." ]; then | |
183 CPP="$CC -E" | |
184 fi |