annotate auto/cc/sunc @ 7674:7731c710796f

Memcached: protect from too long responses. If a memcached response was followed by a correct trailer, and then the NUL character followed by some extra data - this was accepted by the trailer checking code. This in turn resulted in ctx->rest underflow and caused negative size buffer on the next reading from the upstream, followed by the "negative size buf in writer" alert. Fix is to always check for too long responses, so a correct trailer cannot be followed by extra data.
author Maxim Dounin <mdounin@mdounin.ru>
date Mon, 06 Jul 2020 18:36:17 +0300
parents d8e8ced78e77
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
561
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
1
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
2 # Copyright (C) Igor Sysoev
4412
d620f497c50f Copyright updated.
Maxim Konovalov <maxim@nginx.com>
parents: 4004
diff changeset
3 # Copyright (C) Nginx, Inc.
561
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
4
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
5
1309
08c6ee7a1b11 Sun Studio 12 compatibility
Igor Sysoev <igor@sysoev.ru>
parents: 1308
diff changeset
6 # Sun C 5.7 Patch 117837-04 2005/05/11 Sun Studio 10
08c6ee7a1b11 Sun Studio 12 compatibility
Igor Sysoev <igor@sysoev.ru>
parents: 1308
diff changeset
7 # Sun C 5.8 2005/10/13 Sun Studio 11
08c6ee7a1b11 Sun Studio 12 compatibility
Igor Sysoev <igor@sysoev.ru>
parents: 1308
diff changeset
8 # Sun C 5.9 SunOS_i386 2007/05/03 Sun Studio 12
08c6ee7a1b11 Sun Studio 12 compatibility
Igor Sysoev <igor@sysoev.ru>
parents: 1308
diff changeset
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
7000
d8e8ced78e77 Configure: recent Sun C versions.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6624
diff changeset
11 # Sun C 5.11 SunOS_i386 2010/08/13 Oracle Solaris Studio 12.2
d8e8ced78e77 Configure: recent Sun C versions.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6624
diff changeset
12 # Sun C 5.12 SunOS_i386 2011/11/16 Oracle Solaris Studio 12.3
d8e8ced78e77 Configure: recent Sun C versions.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6624
diff changeset
13 # Sun C 5.13 SunOS_i386 2014/10/20 Oracle Solaris Studio 12.4
d8e8ced78e77 Configure: recent Sun C versions.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6624
diff changeset
14 # Sun C 5.14 SunOS_i386 2016/05/31 Oracle Developer Studio 12.5
561
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
15
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
16 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
17 | sed -e 's/^.* Sun C \(.*\)/\1/'`
561
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
18
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
19 echo " + Sun C version: $NGX_SUNC_VER"
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
20
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
21 have=NGX_COMPILER value="\"Sun C $NGX_SUNC_VER\"" . auto/define
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
22
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
23
1309
08c6ee7a1b11 Sun Studio 12 compatibility
Igor Sysoev <igor@sysoev.ru>
parents: 1308
diff changeset
24 cat << END > $NGX_AUTOTEST.c
08c6ee7a1b11 Sun Studio 12 compatibility
Igor Sysoev <igor@sysoev.ru>
parents: 1308
diff changeset
25
6624
e3faa5fb7772 Configure: fix build with -Werror=old-style-definition.
Piotr Sikora <piotrsikora@google.com>
parents: 6603
diff changeset
26 int main(void) {
e3faa5fb7772 Configure: fix build with -Werror=old-style-definition.
Piotr Sikora <piotrsikora@google.com>
parents: 6603
diff changeset
27 printf("%d", __SUNPRO_C);
e3faa5fb7772 Configure: fix build with -Werror=old-style-definition.
Piotr Sikora <piotrsikora@google.com>
parents: 6603
diff changeset
28 return 0;
e3faa5fb7772 Configure: fix build with -Werror=old-style-definition.
Piotr Sikora <piotrsikora@google.com>
parents: 6603
diff changeset
29 }
1309
08c6ee7a1b11 Sun Studio 12 compatibility
Igor Sysoev <igor@sysoev.ru>
parents: 1308
diff changeset
30
08c6ee7a1b11 Sun Studio 12 compatibility
Igor Sysoev <igor@sysoev.ru>
parents: 1308
diff changeset
31 END
08c6ee7a1b11 Sun Studio 12 compatibility
Igor Sysoev <igor@sysoev.ru>
parents: 1308
diff changeset
32
08c6ee7a1b11 Sun Studio 12 compatibility
Igor Sysoev <igor@sysoev.ru>
parents: 1308
diff changeset
33 eval "$CC -o $NGX_AUTOTEST $NGX_AUTOTEST.c >> $NGX_ERR 2>&1"
08c6ee7a1b11 Sun Studio 12 compatibility
Igor Sysoev <igor@sysoev.ru>
parents: 1308
diff changeset
34
08c6ee7a1b11 Sun Studio 12 compatibility
Igor Sysoev <igor@sysoev.ru>
parents: 1308
diff changeset
35 if [ -x $NGX_AUTOTEST ]; then
08c6ee7a1b11 Sun Studio 12 compatibility
Igor Sysoev <igor@sysoev.ru>
parents: 1308
diff changeset
36 ngx_sunc_ver=`$NGX_AUTOTEST`
08c6ee7a1b11 Sun Studio 12 compatibility
Igor Sysoev <igor@sysoev.ru>
parents: 1308
diff changeset
37 fi
08c6ee7a1b11 Sun Studio 12 compatibility
Igor Sysoev <igor@sysoev.ru>
parents: 1308
diff changeset
38
5309
434548349838 Configure: fixed autotest cleanup commands.
Sergey Kandaurov <pluknet@nginx.com>
parents: 4412
diff changeset
39 rm -rf $NGX_AUTOTEST*
1309
08c6ee7a1b11 Sun Studio 12 compatibility
Igor Sysoev <igor@sysoev.ru>
parents: 1308
diff changeset
40
08c6ee7a1b11 Sun Studio 12 compatibility
Igor Sysoev <igor@sysoev.ru>
parents: 1308
diff changeset
41 # 1424 == 0x590, Sun Studio 12
08c6ee7a1b11 Sun Studio 12 compatibility
Igor Sysoev <igor@sysoev.ru>
parents: 1308
diff changeset
42
08c6ee7a1b11 Sun Studio 12 compatibility
Igor Sysoev <igor@sysoev.ru>
parents: 1308
diff changeset
43 if [ "$ngx_sunc_ver" -ge 1424 ]; then
08c6ee7a1b11 Sun Studio 12 compatibility
Igor Sysoev <igor@sysoev.ru>
parents: 1308
diff changeset
44 ngx_sparc32="-m32"
08c6ee7a1b11 Sun Studio 12 compatibility
Igor Sysoev <igor@sysoev.ru>
parents: 1308
diff changeset
45 ngx_sparc64="-m64"
08c6ee7a1b11 Sun Studio 12 compatibility
Igor Sysoev <igor@sysoev.ru>
parents: 1308
diff changeset
46 ngx_amd64="-m64"
08c6ee7a1b11 Sun Studio 12 compatibility
Igor Sysoev <igor@sysoev.ru>
parents: 1308
diff changeset
47
08c6ee7a1b11 Sun Studio 12 compatibility
Igor Sysoev <igor@sysoev.ru>
parents: 1308
diff changeset
48 else
08c6ee7a1b11 Sun Studio 12 compatibility
Igor Sysoev <igor@sysoev.ru>
parents: 1308
diff changeset
49 ngx_sparc32="-xarch=v8plus"
08c6ee7a1b11 Sun Studio 12 compatibility
Igor Sysoev <igor@sysoev.ru>
parents: 1308
diff changeset
50 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
51 ngx_amd64="-xarch=amd64"
1309
08c6ee7a1b11 Sun Studio 12 compatibility
Igor Sysoev <igor@sysoev.ru>
parents: 1308
diff changeset
52 fi
08c6ee7a1b11 Sun Studio 12 compatibility
Igor Sysoev <igor@sysoev.ru>
parents: 1308
diff changeset
53
744
34bb8726f454 add sun4v
Igor Sysoev <igor@sysoev.ru>
parents: 702
diff changeset
54 case "$NGX_MACHINE" in
561
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
55
744
34bb8726f454 add sun4v
Igor Sysoev <igor@sysoev.ru>
parents: 702
diff changeset
56 i86pc)
561
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
57 NGX_AUX=" src/os/unix/ngx_sunpro_x86.il"
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
58 ;;
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
59
744
34bb8726f454 add sun4v
Igor Sysoev <igor@sysoev.ru>
parents: 702
diff changeset
60 sun4u | sun4v)
561
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
61 NGX_AUX=" src/os/unix/ngx_sunpro_sparc64.il"
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
62 ;;
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
63
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
64 esac
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
65
6383
85dea406e18f Dynamic modules.
Maxim Dounin <mdounin@mdounin.ru>
parents: 5309
diff changeset
66 MAIN_LINK=
85dea406e18f Dynamic modules.
Maxim Dounin <mdounin@mdounin.ru>
parents: 5309
diff changeset
67 MODULE_LINK="-G"
85dea406e18f Dynamic modules.
Maxim Dounin <mdounin@mdounin.ru>
parents: 5309
diff changeset
68
561
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
69
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
70 # optimizations
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
71
4004
84bd993b8cd3 Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2818
diff changeset
72 # 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
73
84bd993b8cd3 Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2818
diff changeset
74 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
75 ngx_fast="-fast"
84bd993b8cd3 Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2818
diff changeset
76
84bd993b8cd3 Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2818
diff changeset
77 else
84bd993b8cd3 Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2818
diff changeset
78 # 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
79 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
80 fi
84bd993b8cd3 Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2818
diff changeset
81
1309
08c6ee7a1b11 Sun Studio 12 compatibility
Igor Sysoev <igor@sysoev.ru>
parents: 1308
diff changeset
82 IPO=-xipo
4004
84bd993b8cd3 Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2818
diff changeset
83 CFLAGS="$CFLAGS $ngx_fast $IPO"
84bd993b8cd3 Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2818
diff changeset
84 CORE_LINK="$CORE_LINK $ngx_fast $IPO"
561
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
85
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
86
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
87 case $CPU in
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
88 pentium)
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
89 # optimize for Pentium and Athlon
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
90 CPU_OPT="-xchip=pentium"
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
91 ;;
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
92
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
93 pentiumpro)
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
94 # optimize for Pentium Pro, Pentium II
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
95 CPU_OPT="-xchip=pentium_pro"
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
96 ;;
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
97
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
98 pentium3)
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
99 # optimize for Pentium III
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
100 CPU_OPT="-xchip=pentium3"
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
101 #CPU_OPT="$CPU_OPT -xarch=sse"
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
102 CPU_OPT="$CPU_OPT -xcache=16/32/4:256/32/4"
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
103 ;;
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
104
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
105 pentium4)
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
106 # optimize for Pentium 4
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
107 CPU_OPT="-xchip=pentium4"
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
108 #CPU_OPT="$CPU_OPT -xarch=sse2"
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
109 CPU_OPT="$CPU_OPT -xcache=8/64/4:256/128/8"
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
110 ;;
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
111
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
112 opteron)
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
113 # optimize for Opteron
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
114 CPU_OPT="-xchip=opteron"
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
115 #CPU_OPT="$CPU_OPT -xarch=sse2"
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
116 CPU_OPT="$CPU_OPT -xcache=64/64/2:1024/64/16"
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
117 ;;
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
118
1308
63fa39cf8bd0 --with-cpu-opt=sparc32 and --with-cpu-opt=sparc64
Igor Sysoev <igor@sysoev.ru>
parents: 1307
diff changeset
119 sparc32)
63fa39cf8bd0 --with-cpu-opt=sparc32 and --with-cpu-opt=sparc64
Igor Sysoev <igor@sysoev.ru>
parents: 1307
diff changeset
120 # build 32-bit UltraSparc binary
1309
08c6ee7a1b11 Sun Studio 12 compatibility
Igor Sysoev <igor@sysoev.ru>
parents: 1308
diff changeset
121 CPU_OPT="$ngx_sparc32"
08c6ee7a1b11 Sun Studio 12 compatibility
Igor Sysoev <igor@sysoev.ru>
parents: 1308
diff changeset
122 CORE_LINK="$CORE_LINK $ngx_sparc32"
08c6ee7a1b11 Sun Studio 12 compatibility
Igor Sysoev <igor@sysoev.ru>
parents: 1308
diff changeset
123 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
124 NGX_CPU_CACHE_LINE=64
63fa39cf8bd0 --with-cpu-opt=sparc32 and --with-cpu-opt=sparc64
Igor Sysoev <igor@sysoev.ru>
parents: 1307
diff changeset
125 ;;
63fa39cf8bd0 --with-cpu-opt=sparc32 and --with-cpu-opt=sparc64
Igor Sysoev <igor@sysoev.ru>
parents: 1307
diff changeset
126
63fa39cf8bd0 --with-cpu-opt=sparc32 and --with-cpu-opt=sparc64
Igor Sysoev <igor@sysoev.ru>
parents: 1307
diff changeset
127 sparc64)
63fa39cf8bd0 --with-cpu-opt=sparc32 and --with-cpu-opt=sparc64
Igor Sysoev <igor@sysoev.ru>
parents: 1307
diff changeset
128 # build 64-bit UltraSparc binary
1309
08c6ee7a1b11 Sun Studio 12 compatibility
Igor Sysoev <igor@sysoev.ru>
parents: 1308
diff changeset
129 CPU_OPT="$ngx_sparc64"
08c6ee7a1b11 Sun Studio 12 compatibility
Igor Sysoev <igor@sysoev.ru>
parents: 1308
diff changeset
130 CORE_LINK="$CORE_LINK $ngx_sparc64"
08c6ee7a1b11 Sun Studio 12 compatibility
Igor Sysoev <igor@sysoev.ru>
parents: 1308
diff changeset
131 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
132 NGX_CPU_CACHE_LINE=64
63fa39cf8bd0 --with-cpu-opt=sparc32 and --with-cpu-opt=sparc64
Igor Sysoev <igor@sysoev.ru>
parents: 1307
diff changeset
133 ;;
63fa39cf8bd0 --with-cpu-opt=sparc32 and --with-cpu-opt=sparc64
Igor Sysoev <igor@sysoev.ru>
parents: 1307
diff changeset
134
561
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
135 amd64)
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
136 # build 64-bit amd64 binary
1309
08c6ee7a1b11 Sun Studio 12 compatibility
Igor Sysoev <igor@sysoev.ru>
parents: 1308
diff changeset
137 CPU_OPT="$ngx_amd64"
08c6ee7a1b11 Sun Studio 12 compatibility
Igor Sysoev <igor@sysoev.ru>
parents: 1308
diff changeset
138 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
139 CC_AUX_FLAGS="$CC_AUX_FLAGS $ngx_amd64"
561
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
140 NGX_AUX=" src/os/unix/ngx_sunpro_amd64.il"
1309
08c6ee7a1b11 Sun Studio 12 compatibility
Igor Sysoev <igor@sysoev.ru>
parents: 1308
diff changeset
141 NGX_CPU_CACHE_LINE=64
561
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
142 ;;
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
143
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
144 esac
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
145
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
146
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
147 CFLAGS="$CFLAGS $CPU_OPT"
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
148
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
149
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
150 if [ ".$PCRE_OPT" = "." ]; then
4004
84bd993b8cd3 Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2818
diff changeset
151 PCRE_OPT="$ngx_fast $IPO $CPU_OPT"
561
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
152 fi
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
153
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
154 if [ ".$ZLIB_OPT" = "." ]; then
4004
84bd993b8cd3 Lower optimization level for Sun Studio before 12.1.
Maxim Dounin <mdounin@mdounin.ru>
parents: 2818
diff changeset
155 ZLIB_OPT="$ngx_fast $IPO $CPU_OPT"
561
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
156 fi
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
157
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
158
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
159 # stop on warning
e48ebafc6939 nginx-0.3.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
160 CFLAGS="$CFLAGS -errwarn=%all"
1375
8d7120543619 add debug info for Sun Studio
Igor Sysoev <igor@sysoev.ru>
parents: 1343
diff changeset
161
8d7120543619 add debug info for Sun Studio
Igor Sysoev <igor@sysoev.ru>
parents: 1343
diff changeset
162 # debug
8d7120543619 add debug info for Sun Studio
Igor Sysoev <igor@sysoev.ru>
parents: 1343
diff changeset
163 CFLAGS="$CFLAGS -g"