Mercurial > hg > nginx
annotate auto/cc/sunc @ 6371:33c4d319f08f
Resolver: improved PTR response processing.
The previous code only parsed the first answer, without checking its
type, and required a compressed RR name.
The new code checks the RR type, supports responses with multiple
answers, and doesn't require the RR name to be compressed.
This has a side effect in limited support of CNAME. If a response
includes both CNAME and PTR RRs, like when recursion is enabled on
the server, PTR RR is handled.
Full CNAME support in PTR response is not implemented in this change.
author | Ruslan Ermilov <ru@nginx.com> |
---|---|
date | Thu, 17 Dec 2015 17:21:16 +0300 |
parents | 434548349838 |
children | 85dea406e18f |
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 | |
5309
434548349838
Configure: fixed autotest cleanup commands.
Sergey Kandaurov <pluknet@nginx.com>
parents:
4412
diff
changeset
|
33 rm -rf $NGX_AUTOTEST* |
1309 | 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" |