Mercurial > hg > nginx-vendor-0-7
annotate auto/cc/gcc @ 506:b9fdcaf2062b NGINX_0_7_65
nginx 0.7.65
*) Security: now nginx/Windows ignores trailing spaces in URI.
Thanks to Dan Crowley, Core Security Technologies.
*) Security: now nginx/Windows ignores short files names.
Thanks to Dan Crowley, Core Security Technologies.
*) Change: now the "009" status code is written to an access log for
proxied HTTP/0.9 responses.
*) Change: now the default buffer size of the
"large_client_header_buffers" directive is 8K.
Thanks to Andrew Cholakian.
*) Change: now default SSL ciphers are "HIGH:!ADH:!MD5".
*) Change: now SSLv2 protocol is disabled by default.
*) Change: now $host variable value is always low case.
*) Feature: the conf/fastcgi.conf for simple FastCGI configurations.
*) Feature: now URI part is not required a "proxy_pass" directive if
variables are used.
*) Feature: the $ssl_session_id variable.
*) Bugfix: if a proxied or FastCGI request was internally redirected to
another proxied or FastCGI location, then $upstream_response_time
variable may have abnormally large value; the bug had appeared in
0.7.63.
*) Bugfix: if the "expires modified" set date in the past, then a
negative number was set in the "Cache-Control" response header
line.
Thanks to Alex Kapranoff.
*) Bugfix: nginx closed a connection if a cached response had an empty
body.
Thanks to Piotr Sikora.
*) Bugfix: nginx cached a 304 response if there was the "If-None-Match"
header line in a proxied request.
Thanks to Tim Dettrick and David Kostal.
*) Bugfix: nginx did not treat a comma as separator in the
"Cache-Control" backend response header line.
*) Bugfix: cached HTTP/0.9 responses were handled incorrectly.
*) Bugfix: nginx sent gzipped responses to clients those do not support
gzip, if "gzip_static on" and "gzip_vary off"; the bug had appeared
in 0.8.16.
*) Bugfix: nginx always added "Content-Encoding: gzip" response header
line in 304 responses sent by ngx_http_gzip_static_module.
*) Bugfix: the "!-x" operator did not work.
Thanks to Maxim Dounin.
*) Bugfix: a segmentation fault might occur in a worker process, if
limit_rate was used in HTTPS server.
Thanks to Maxim Dounin.
*) Bugfix: a segmentation fault might occur in a worker process while
$limit_rate logging.
Thanks to Maxim Dounin.
*) Bugfix: nginx did not support dates in 2038 year on 32-bit platforms;
*) Bugfix: nginx/Windows tried to delete a temporary file twice if the
file should replace an already existent file.
*) Bugfix: nginx/Windows tried to rename a temporary file twice if the
file should replace an already existent file.
*) Bugfix: nginx/Windows might not create temporary file, a cache file,
or "proxy/fastcgi_store"d file if a worker had no enough access
rights for top level directories.
*) Bugfix: in UTF-8 encoding support by "try_files" directive in
nginx/Windows.
*) Bugfix: UTF-8 encoding usage in the ngx_http_autoindex_module.
Thanks to Maxim Dounin.
*) Bugfix: the ngx_http_autoindex_module did not show the trailing
slash in links to a directory; the bug had appeared in 0.7.15.
*) Bugfix: nginx did not close a log file set by the --error-log-path
configuration option; the bug had appeared in 0.7.53.
*) Bugfix: "addition_types" directive was incorrectly named
"addtion_types".
*) Bugfix: invalid request line in $request variable was written in
access_log only if error_log was set to "info" or "debug" level.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Mon, 01 Feb 2010 00:00:00 +0000 |
parents | 392c16f2d858 |
children | 68c0ae0a4959 |
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 $NGX_GCC_OPT" | |
55 | |
56 #CFLAGS="$CFLAGS -fomit-frame-pointer" | |
4 | 57 |
58 case $CPU in | |
59 pentium) | |
60 # optimize for Pentium and Athlon | |
61 CPU_OPT="-march=pentium" | |
138 | 62 NGX_CPU_CACHE_LINE=32 |
4 | 63 ;; |
64 | |
110 | 65 pentiumpro | pentium3) |
4 | 66 # optimize for Pentium Pro, Pentium II and Pentium III |
67 CPU_OPT="-march=pentiumpro" | |
138 | 68 NGX_CPU_CACHE_LINE=32 |
4 | 69 ;; |
70 | |
71 pentium4) | |
72 # optimize for Pentium 4, gcc 3.x | |
73 CPU_OPT="-march=pentium4" | |
138 | 74 NGX_CPU_CACHE_LINE=128 |
4 | 75 ;; |
76 | |
70 | 77 athlon) |
78 # optimize for Athlon, gcc 3.x | |
79 CPU_OPT="-march=athlon" | |
138 | 80 NGX_CPU_CACHE_LINE=64 |
70 | 81 ;; |
82 | |
58 | 83 opteron) |
84 # optimize for Opteron, gcc 3.x | |
85 CPU_OPT="-march=opteron" | |
138 | 86 NGX_CPU_CACHE_LINE=64 |
58 | 87 ;; |
88 | |
130 | 89 sparc32) |
90 # build 32-bit UltraSparc binary | |
91 CPU_OPT="-m32" | |
92 CORE_LINK="$CORE_LINK -m32" | |
93 CC_AUX_FLAGS="$CC_AUX_FLAGS -m32" | |
138 | 94 NGX_CPU_CACHE_LINE=64 |
130 | 95 ;; |
96 | |
4 | 97 sparc64) |
98 # build 64-bit UltraSparc binary | |
99 CPU_OPT="-m64" | |
100 CORE_LINK="$CORE_LINK -m64" | |
101 CC_AUX_FLAGS="$CC_AUX_FLAGS -m64" | |
138 | 102 NGX_CPU_CACHE_LINE=64 |
4 | 103 ;; |
104 | |
162 | 105 ppc64) |
106 # build 64-bit PowerPC binary | |
107 CPU_OPT="-m64" | |
108 CPU_OPT="$CPU_OPT -falign-functions=32 -falign-labels=32" | |
109 CPU_OPT="$CPU_OPT -falign-loops=32 -falign-jumps=32" | |
110 CORE_LINK="$CORE_LINK -m64" | |
111 CC_AUX_FLAGS="$CC_AUX_FLAGS -m64" | |
112 NGX_CPU_CACHE_LINE=128 | |
113 ;; | |
114 | |
4 | 115 esac |
116 | |
117 | |
50 | 118 case "$NGX_GCC_VER" in |
119 2.7*) | |
120 # batch build | |
121 CPU_OPT= | |
122 ;; | |
123 esac | |
4 | 124 |
125 | |
126 CFLAGS="$CFLAGS $PIPE $CPU_OPT" | |
127 | |
128 if [ ".$PCRE_OPT" = "." ]; then | |
129 PCRE_OPT="-O2 -fomit-frame-pointer $PIPE $CPU_OPT" | |
130 else | |
131 PCRE_OPT="$PCRE_OPT $PIPE" | |
132 fi | |
133 | |
134 if [ ".$MD5_OPT" = "." ]; then | |
135 MD5_OPT="-O2 -fomit-frame-pointer $PIPE $CPU_OPT" | |
136 else | |
137 MD5_OPT="$MD5_OPT $PIPE" | |
138 fi | |
139 | |
140 if [ ".$ZLIB_OPT" = "." ]; then | |
141 ZLIB_OPT="-O2 -fomit-frame-pointer $PIPE $CPU_OPT" | |
142 else | |
143 ZLIB_OPT="$ZLIB_OPT $PIPE" | |
144 fi | |
145 | |
146 | |
147 # warnings | |
148 | |
36 | 149 # -W requires at least -O |
274 | 150 CFLAGS="$CFLAGS ${NGX_GCC_OPT:--O} -W" |
36 | 151 |
4 | 152 CFLAGS="$CFLAGS -Wall -Wpointer-arith" |
126 | 153 #CFLAGS="$CFLAGS -Wconversion" |
4 | 154 #CFLAGS="$CFLAGS -Winline" |
155 | |
50 | 156 |
157 case "$NGX_GCC_VER" in | |
158 3.* | 4.* ) | |
159 # we have a lot of the unused function arguments | |
160 CFLAGS="$CFLAGS -Wno-unused-parameter" | |
482 | 161 CFLAGS="$CFLAGS -Wunused-function" |
112 | 162 CFLAGS="$CFLAGS -Wunused-variable" |
163 CFLAGS="$CFLAGS -Wunused-value" | |
482 | 164 # 4.2.1 shows the warning in wrong places |
50 | 165 #CFLAGS="$CFLAGS -Wunreachable-code" |
166 ;; | |
167 | |
168 *) | |
169 # we have a lot of the unused function arguments | |
170 CFLAGS="$CFLAGS -Wno-unused" | |
171 ;; | |
172 esac | |
173 | |
4 | 174 |
175 # stop on warning | |
176 CFLAGS="$CFLAGS -Werror" | |
177 | |
178 # debug | |
179 CFLAGS="$CFLAGS -g" | |
180 | |
181 # DragonFly's gcc3 generates DWARF | |
182 #CFLAGS="$CFLAGS -g -gstabs" | |
183 | |
184 if [ ".$CPP" = "." ]; then | |
185 CPP="$CC -E" | |
186 fi |