Mercurial > hg > nginx-quic
annotate auto/cc/sunc @ 5418:6961d52ebc49 stable-1.4
Core: fix misallocation at ngx_crypt_apr1 (ticket #412).
Found by using auth_basic.t from mdounin nginx-tests under valgrind.
==10470== Invalid write of size 1
==10470== at 0x43603D: ngx_crypt_to64 (ngx_crypt.c:168)
==10470== by 0x43648E: ngx_crypt (ngx_crypt.c:153)
==10470== by 0x489D8B: ngx_http_auth_basic_crypt_handler (ngx_http_auth_basic_module.c:297)
==10470== by 0x48A24A: ngx_http_auth_basic_handler (ngx_http_auth_basic_module.c:240)
==10470== by 0x44EAB9: ngx_http_core_access_phase (ngx_http_core_module.c:1121)
==10470== by 0x44A822: ngx_http_core_run_phases (ngx_http_core_module.c:895)
==10470== by 0x44A932: ngx_http_handler (ngx_http_core_module.c:878)
==10470== by 0x455EEF: ngx_http_process_request (ngx_http_request.c:1852)
==10470== by 0x456527: ngx_http_process_request_headers (ngx_http_request.c:1283)
==10470== by 0x456A91: ngx_http_process_request_line (ngx_http_request.c:964)
==10470== by 0x457097: ngx_http_wait_request_handler (ngx_http_request.c:486)
==10470== by 0x4411EE: ngx_epoll_process_events (ngx_epoll_module.c:691)
==10470== Address 0x5866fab is 0 bytes after a block of size 27 alloc'd
==10470== at 0x4A074CD: malloc (vg_replace_malloc.c:236)
==10470== by 0x43B251: ngx_alloc (ngx_alloc.c:22)
==10470== by 0x421B0D: ngx_malloc (ngx_palloc.c:119)
==10470== by 0x421B65: ngx_pnalloc (ngx_palloc.c:147)
==10470== by 0x436368: ngx_crypt (ngx_crypt.c:140)
==10470== by 0x489D8B: ngx_http_auth_basic_crypt_handler (ngx_http_auth_basic_module.c:297)
==10470== by 0x48A24A: ngx_http_auth_basic_handler (ngx_http_auth_basic_module.c:240)
==10470== by 0x44EAB9: ngx_http_core_access_phase (ngx_http_core_module.c:1121)
==10470== by 0x44A822: ngx_http_core_run_phases (ngx_http_core_module.c:895)
==10470== by 0x44A932: ngx_http_handler (ngx_http_core_module.c:878)
==10470== by 0x455EEF: ngx_http_process_request (ngx_http_request.c:1852)
==10470== by 0x456527: ngx_http_process_request_headers (ngx_http_request.c:1283)
==10470==
author | Markus Linnala <Markus.Linnala@cybercom.com> |
---|---|
date | Fri, 20 Sep 2013 17:57:21 +0300 |
parents | d620f497c50f |
children | 434548349838 |
rev | line source |
---|---|
561 | 1 |
2 # Copyright (C) Igor Sysoev | |
4412 | 3 # Copyright (C) Nginx, Inc. |
561 | 4 |
5 | |
1309 | 6 # Sun C 5.7 Patch 117837-04 2005/05/11 Sun Studio 10 |
7 # Sun C 5.8 2005/10/13 Sun Studio 11 | |
8 # Sun C 5.9 SunOS_i386 2007/05/03 Sun Studio 12 | |
9 # Sun C 5.9 SunOS_sparc 2007/05/03 | |
4004
84bd993b8cd3
Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents:
2818
diff
changeset
|
10 # Sun C 5.10 SunOS_i386 2009/06/03 Sun Studio 12.1 |
84bd993b8cd3
Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents:
2818
diff
changeset
|
11 # Sun C 5.11 SunOS_i386 2010/08/13 Sun Studio 12.2 |
561 | 12 |
13 NGX_SUNC_VER=`$CC -V 2>&1 | grep 'Sun C' 2>&1 \ | |
702
67deba330372
auto/configure [ PAUSE ] hwcap bug
Igor Sysoev <igor@sysoev.ru>
parents:
697
diff
changeset
|
14 | sed -e 's/^.* Sun C \(.*\)/\1/'` |
561 | 15 |
16 echo " + Sun C version: $NGX_SUNC_VER" | |
17 | |
18 have=NGX_COMPILER value="\"Sun C $NGX_SUNC_VER\"" . auto/define | |
19 | |
20 | |
1309 | 21 cat << END > $NGX_AUTOTEST.c |
22 | |
23 int main() { printf("%d", __SUNPRO_C); } | |
24 | |
25 END | |
26 | |
27 eval "$CC -o $NGX_AUTOTEST $NGX_AUTOTEST.c >> $NGX_ERR 2>&1" | |
28 | |
29 if [ -x $NGX_AUTOTEST ]; then | |
30 ngx_sunc_ver=`$NGX_AUTOTEST` | |
31 fi | |
32 | |
33 rm $NGX_AUTOTEST* | |
34 | |
35 # 1424 == 0x590, Sun Studio 12 | |
36 | |
37 if [ "$ngx_sunc_ver" -ge 1424 ]; then | |
38 ngx_sparc32="-m32" | |
39 ngx_sparc64="-m64" | |
40 ngx_amd64="-m64" | |
41 | |
42 else | |
43 ngx_sparc32="-xarch=v8plus" | |
44 ngx_sparc64="-xarch=v9" | |
1343
d77866cf2cc4
fix building on amd64 by Sun Studio 11 and more early versions
Igor Sysoev <igor@sysoev.ru>
parents:
1324
diff
changeset
|
45 ngx_amd64="-xarch=amd64" |
1309 | 46 fi |
47 | |
744 | 48 case "$NGX_MACHINE" in |
561 | 49 |
744 | 50 i86pc) |
561 | 51 NGX_AUX=" src/os/unix/ngx_sunpro_x86.il" |
52 ;; | |
53 | |
744 | 54 sun4u | sun4v) |
561 | 55 NGX_AUX=" src/os/unix/ngx_sunpro_sparc64.il" |
56 ;; | |
57 | |
58 esac | |
59 | |
60 | |
61 # optimizations | |
62 | |
4004
84bd993b8cd3
Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents:
2818
diff
changeset
|
63 # 20736 == 0x5100, Sun Studio 12.1 |
84bd993b8cd3
Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents:
2818
diff
changeset
|
64 |
84bd993b8cd3
Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents:
2818
diff
changeset
|
65 if [ "$ngx_sunc_ver" -ge 20736 ]; then |
84bd993b8cd3
Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents:
2818
diff
changeset
|
66 ngx_fast="-fast" |
84bd993b8cd3
Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents:
2818
diff
changeset
|
67 |
84bd993b8cd3
Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents:
2818
diff
changeset
|
68 else |
84bd993b8cd3
Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents:
2818
diff
changeset
|
69 # older versions had problems with bit-fields |
84bd993b8cd3
Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents:
2818
diff
changeset
|
70 ngx_fast="-fast -xalias_level=any" |
84bd993b8cd3
Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents:
2818
diff
changeset
|
71 fi |
84bd993b8cd3
Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents:
2818
diff
changeset
|
72 |
1309 | 73 IPO=-xipo |
4004
84bd993b8cd3
Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents:
2818
diff
changeset
|
74 CFLAGS="$CFLAGS $ngx_fast $IPO" |
84bd993b8cd3
Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents:
2818
diff
changeset
|
75 CORE_LINK="$CORE_LINK $ngx_fast $IPO" |
561 | 76 |
77 | |
78 case $CPU in | |
79 pentium) | |
80 # optimize for Pentium and Athlon | |
81 CPU_OPT="-xchip=pentium" | |
82 ;; | |
83 | |
84 pentiumpro) | |
85 # optimize for Pentium Pro, Pentium II | |
86 CPU_OPT="-xchip=pentium_pro" | |
87 ;; | |
88 | |
89 pentium3) | |
90 # optimize for Pentium III | |
91 CPU_OPT="-xchip=pentium3" | |
92 #CPU_OPT="$CPU_OPT -xarch=sse" | |
93 CPU_OPT="$CPU_OPT -xcache=16/32/4:256/32/4" | |
94 ;; | |
95 | |
96 pentium4) | |
97 # optimize for Pentium 4 | |
98 CPU_OPT="-xchip=pentium4" | |
99 #CPU_OPT="$CPU_OPT -xarch=sse2" | |
100 CPU_OPT="$CPU_OPT -xcache=8/64/4:256/128/8" | |
101 ;; | |
102 | |
103 opteron) | |
104 # optimize for Opteron | |
105 CPU_OPT="-xchip=opteron" | |
106 #CPU_OPT="$CPU_OPT -xarch=sse2" | |
107 CPU_OPT="$CPU_OPT -xcache=64/64/2:1024/64/16" | |
108 ;; | |
109 | |
1308
63fa39cf8bd0
--with-cpu-opt=sparc32 and --with-cpu-opt=sparc64
Igor Sysoev <igor@sysoev.ru>
parents:
1307
diff
changeset
|
110 sparc32) |
63fa39cf8bd0
--with-cpu-opt=sparc32 and --with-cpu-opt=sparc64
Igor Sysoev <igor@sysoev.ru>
parents:
1307
diff
changeset
|
111 # build 32-bit UltraSparc binary |
1309 | 112 CPU_OPT="$ngx_sparc32" |
113 CORE_LINK="$CORE_LINK $ngx_sparc32" | |
114 CC_AUX_FLAGS="$CC_AUX_FLAGS $ngx_sparc32" | |
1308
63fa39cf8bd0
--with-cpu-opt=sparc32 and --with-cpu-opt=sparc64
Igor Sysoev <igor@sysoev.ru>
parents:
1307
diff
changeset
|
115 NGX_CPU_CACHE_LINE=64 |
63fa39cf8bd0
--with-cpu-opt=sparc32 and --with-cpu-opt=sparc64
Igor Sysoev <igor@sysoev.ru>
parents:
1307
diff
changeset
|
116 ;; |
63fa39cf8bd0
--with-cpu-opt=sparc32 and --with-cpu-opt=sparc64
Igor Sysoev <igor@sysoev.ru>
parents:
1307
diff
changeset
|
117 |
63fa39cf8bd0
--with-cpu-opt=sparc32 and --with-cpu-opt=sparc64
Igor Sysoev <igor@sysoev.ru>
parents:
1307
diff
changeset
|
118 sparc64) |
63fa39cf8bd0
--with-cpu-opt=sparc32 and --with-cpu-opt=sparc64
Igor Sysoev <igor@sysoev.ru>
parents:
1307
diff
changeset
|
119 # build 64-bit UltraSparc binary |
1309 | 120 CPU_OPT="$ngx_sparc64" |
121 CORE_LINK="$CORE_LINK $ngx_sparc64" | |
122 CC_AUX_FLAGS="$CC_AUX_FLAGS $ngx_sparc64" | |
1308
63fa39cf8bd0
--with-cpu-opt=sparc32 and --with-cpu-opt=sparc64
Igor Sysoev <igor@sysoev.ru>
parents:
1307
diff
changeset
|
123 NGX_CPU_CACHE_LINE=64 |
63fa39cf8bd0
--with-cpu-opt=sparc32 and --with-cpu-opt=sparc64
Igor Sysoev <igor@sysoev.ru>
parents:
1307
diff
changeset
|
124 ;; |
63fa39cf8bd0
--with-cpu-opt=sparc32 and --with-cpu-opt=sparc64
Igor Sysoev <igor@sysoev.ru>
parents:
1307
diff
changeset
|
125 |
561 | 126 amd64) |
127 # build 64-bit amd64 binary | |
1309 | 128 CPU_OPT="$ngx_amd64" |
129 CORE_LINK="$CORE_LINK $ngx_amd64" | |
1324
d01f9856e3a0
fix building on amd64 and add -xipo to the link stage
Igor Sysoev <igor@sysoev.ru>
parents:
1309
diff
changeset
|
130 CC_AUX_FLAGS="$CC_AUX_FLAGS $ngx_amd64" |
561 | 131 NGX_AUX=" src/os/unix/ngx_sunpro_amd64.il" |
1309 | 132 NGX_CPU_CACHE_LINE=64 |
561 | 133 ;; |
134 | |
135 esac | |
136 | |
137 | |
138 CFLAGS="$CFLAGS $CPU_OPT" | |
139 | |
140 | |
141 if [ ".$PCRE_OPT" = "." ]; then | |
4004
84bd993b8cd3
Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents:
2818
diff
changeset
|
142 PCRE_OPT="$ngx_fast $IPO $CPU_OPT" |
561 | 143 fi |
144 | |
145 if [ ".$MD5_OPT" = "." ]; then | |
4004
84bd993b8cd3
Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents:
2818
diff
changeset
|
146 MD5_OPT="$ngx_fast $IPO $CPU_OPT" |
561 | 147 fi |
148 | |
149 if [ ".$ZLIB_OPT" = "." ]; then | |
4004
84bd993b8cd3
Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents:
2818
diff
changeset
|
150 ZLIB_OPT="$ngx_fast $IPO $CPU_OPT" |
561 | 151 fi |
152 | |
153 | |
154 # stop on warning | |
155 CFLAGS="$CFLAGS -errwarn=%all" | |
1375
8d7120543619
add debug info for Sun Studio
Igor Sysoev <igor@sysoev.ru>
parents:
1343
diff
changeset
|
156 |
8d7120543619
add debug info for Sun Studio
Igor Sysoev <igor@sysoev.ru>
parents:
1343
diff
changeset
|
157 # debug |
8d7120543619
add debug info for Sun Studio
Igor Sysoev <igor@sysoev.ru>
parents:
1343
diff
changeset
|
158 CFLAGS="$CFLAGS -g" |