passenger 5.0.30 → 5.1.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of passenger might be problematic. Click here for more details.

Files changed (131) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +30 -1
  3. data/CONTRIBUTING.md +1 -1
  4. data/CONTRIBUTORS +2 -0
  5. data/bin/passenger-install-nginx-module +18 -13
  6. data/build/agent.rb +1 -0
  7. data/build/basics.rb +1 -0
  8. data/build/cxx_tests.rb +6 -1
  9. data/build/misc.rb +3 -0
  10. data/build/packaging.rb +5 -17
  11. data/build/support/cxx_dependency_map.rb +100 -0
  12. data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/builder.rb +4 -1
  13. data/build/test_basics.rb +12 -2
  14. data/dev/ci/run_travis.sh +6 -2
  15. data/doc/Users guide Apache.html +7 -2
  16. data/doc/Users guide Apache.txt +4 -0
  17. data/resources/templates/error_layout.css +70 -84
  18. data/resources/templates/error_layout.html.template +84 -93
  19. data/resources/templates/standalone/http.erb +17 -13
  20. data/resources/templates/standalone/server.erb +2 -1
  21. data/resources/templates/undisclosed_error.html.template +52 -51
  22. data/resources/update_check_client_cert.p12 +0 -0
  23. data/resources/update_check_client_cert.pem +89 -0
  24. data/resources/update_check_server_pubkey.pem +14 -0
  25. data/src/agent/Core/ApplicationPool/ErrorRenderer.h +15 -1
  26. data/src/agent/Core/Controller.h +3 -2
  27. data/src/agent/Core/Controller/CheckoutSession.cpp +5 -4
  28. data/src/agent/Core/Controller/ForwardResponse.cpp +1 -1
  29. data/src/agent/Core/Controller/InitRequest.cpp +2 -0
  30. data/src/agent/Core/Controller/InitializationAndShutdown.cpp +1 -0
  31. data/src/agent/Core/Controller/Request.h +1 -0
  32. data/src/agent/Core/CoreMain.cpp +99 -2
  33. data/src/agent/Core/OptionParser.h +18 -1
  34. data/src/agent/Core/SecurityUpdateChecker.h +559 -0
  35. data/src/agent/Shared/Base.cpp +6 -1
  36. data/src/agent/TempDirToucher/TempDirToucherMain.cpp +52 -0
  37. data/src/agent/Watchdog/InstanceDirToucher.cpp +1 -2
  38. data/src/agent/Watchdog/WatchdogMain.cpp +31 -40
  39. data/src/apache2_module/Configuration.cpp +12 -0
  40. data/src/apache2_module/Configuration.hpp +5 -0
  41. data/src/apache2_module/ConfigurationCommands.cpp +19 -19
  42. data/src/apache2_module/ConfigurationCommands.cpp.cxxcodebuilder +2 -2
  43. data/src/apache2_module/ConfigurationFields.hpp +19 -19
  44. data/src/apache2_module/ConfigurationFields.hpp.cxxcodebuilder +2 -2
  45. data/src/apache2_module/ConfigurationSetters.cpp +19 -19
  46. data/src/apache2_module/ConfigurationSetters.cpp.cxxcodebuilder +2 -2
  47. data/src/apache2_module/CreateDirConfig.cpp +19 -19
  48. data/src/apache2_module/CreateDirConfig.cpp.cxxcodebuilder +2 -2
  49. data/src/apache2_module/Hooks.cpp +10 -1
  50. data/src/apache2_module/MergeDirConfig.cpp +19 -19
  51. data/src/apache2_module/MergeDirConfig.cpp.cxxcodebuilder +2 -2
  52. data/src/apache2_module/SetHeaders.cpp +19 -19
  53. data/src/apache2_module/SetHeaders.cpp.cxxcodebuilder +2 -2
  54. data/src/cxx_supportlib/Constants.h +22 -22
  55. data/src/cxx_supportlib/Constants.h.cxxcodebuilder +4 -1
  56. data/src/cxx_supportlib/Crypto.cpp +977 -0
  57. data/src/cxx_supportlib/Crypto.h +147 -0
  58. data/src/cxx_supportlib/InstanceDirectory.h +55 -2
  59. data/src/cxx_supportlib/Utils/Curl.h +24 -10
  60. data/src/cxx_supportlib/Utils/JsonUtils.h +1 -1
  61. data/src/cxx_supportlib/oxt/detail/spin_lock_darwin.hpp +2 -0
  62. data/src/cxx_supportlib/vendor-modified/boost/system/error_code.hpp +3 -3
  63. data/src/cxx_supportlib/vendor-modified/jsoncpp/json-forwards.h +167 -92
  64. data/src/cxx_supportlib/vendor-modified/jsoncpp/json.h +1827 -1542
  65. data/src/cxx_supportlib/vendor-modified/jsoncpp/jsoncpp.cpp +4705 -3652
  66. data/src/cxx_supportlib/vendor-modified/libev/Changes +46 -15
  67. data/src/cxx_supportlib/vendor-modified/libev/LICENSE +1 -1
  68. data/src/cxx_supportlib/vendor-modified/libev/Makefile.in +215 -128
  69. data/src/cxx_supportlib/vendor-modified/libev/aclocal.m4 +466 -275
  70. data/src/cxx_supportlib/vendor-modified/libev/config.guess +312 -418
  71. data/src/cxx_supportlib/vendor-modified/libev/config.sub +246 -105
  72. data/src/cxx_supportlib/vendor-modified/libev/configure +276 -72
  73. data/src/cxx_supportlib/vendor-modified/libev/configure.ac +2 -1
  74. data/src/cxx_supportlib/vendor-modified/libev/depcomp +346 -185
  75. data/src/cxx_supportlib/vendor-modified/libev/ev++.h +1 -1
  76. data/src/cxx_supportlib/vendor-modified/libev/ev.c +530 -190
  77. data/src/cxx_supportlib/vendor-modified/libev/ev.h +23 -14
  78. data/src/cxx_supportlib/vendor-modified/libev/ev_epoll.c +12 -6
  79. data/src/cxx_supportlib/vendor-modified/libev/ev_kqueue.c +9 -5
  80. data/src/cxx_supportlib/vendor-modified/libev/ev_poll.c +6 -3
  81. data/src/cxx_supportlib/vendor-modified/libev/ev_port.c +8 -4
  82. data/src/cxx_supportlib/vendor-modified/libev/ev_select.c +4 -2
  83. data/src/cxx_supportlib/vendor-modified/libev/ev_vars.h +3 -2
  84. data/src/cxx_supportlib/vendor-modified/libev/ev_win32.c +3 -4
  85. data/src/cxx_supportlib/vendor-modified/libev/install-sh +433 -219
  86. data/src/cxx_supportlib/vendor-modified/libev/libev.m4 +6 -6
  87. data/src/cxx_supportlib/vendor-modified/libev/ltmain.sh +2 -2
  88. data/src/cxx_supportlib/vendor-modified/libev/missing +167 -288
  89. data/src/cxx_supportlib/vendor-modified/libev/mkinstalldirs +72 -21
  90. data/src/cxx_supportlib/vendor-modified/modp_b64.cpp +4 -106
  91. data/src/cxx_supportlib/vendor-modified/modp_b64_data.h +37 -1
  92. data/src/cxx_supportlib/vendor-modified/modp_b64_strict_aliasing.cpp +119 -0
  93. data/src/helper-scripts/node-loader.js +72 -1
  94. data/src/nginx_module/CacheLocationConfig.c +52 -19
  95. data/src/nginx_module/CacheLocationConfig.c.cxxcodebuilder +2 -2
  96. data/src/nginx_module/Configuration.c +26 -1
  97. data/src/nginx_module/Configuration.h +2 -0
  98. data/src/nginx_module/ConfigurationCommands.c +35 -19
  99. data/src/nginx_module/ConfigurationCommands.c.cxxcodebuilder +2 -2
  100. data/src/nginx_module/ContentHandler.c +1 -1
  101. data/src/nginx_module/CreateLocationConfig.c +22 -19
  102. data/src/nginx_module/CreateLocationConfig.c.cxxcodebuilder +2 -2
  103. data/src/nginx_module/LocationConfig.h +21 -19
  104. data/src/nginx_module/LocationConfig.h.cxxcodebuilder +2 -2
  105. data/src/nginx_module/MergeLocationConfig.c +25 -19
  106. data/src/nginx_module/MergeLocationConfig.c.cxxcodebuilder +2 -2
  107. data/src/nginx_module/ngx_http_passenger_module.c +8 -4
  108. data/src/ruby_supportlib/phusion_passenger.rb +9 -4
  109. data/src/ruby_supportlib/phusion_passenger/admin_tools/instance.rb +2 -2
  110. data/src/ruby_supportlib/phusion_passenger/admin_tools/instance_registry.rb +1 -1
  111. data/src/ruby_supportlib/phusion_passenger/common_library.rb +13 -0
  112. data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +5 -2
  113. data/src/ruby_supportlib/phusion_passenger/constants.rb +1 -1
  114. data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +15 -3
  115. data/src/ruby_supportlib/phusion_passenger/platform_info/crypto.rb +51 -0
  116. data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/apache2.rb +7 -0
  117. data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +17 -0
  118. data/src/ruby_supportlib/phusion_passenger/standalone/start_command.rb +4 -2
  119. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +4 -0
  120. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +5 -0
  121. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/app.rb +19 -10
  122. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/base.rb +25 -0
  123. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/gdb_controller.rb +38 -103
  124. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/lldb_controller.rb +178 -0
  125. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/utils.rb +94 -0
  126. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/version.rb +2 -2
  127. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core.rb +2 -2
  128. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/lib/union_station_hooks_core/version_data.rb +2 -2
  129. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/ruby_versions.yml.travis +5 -3
  130. data/src/ruby_supportlib/phusion_passenger/vendor/union_station_hooks_core/ruby_versions.yml.travis-with-sudo +9 -7
  131. metadata +14 -4
@@ -1,44 +1,40 @@
1
1
  #! /bin/sh
2
2
  # Configuration validation subroutine script.
3
- # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4
- # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
5
- # Free Software Foundation, Inc.
3
+ # Copyright 1992-2014 Free Software Foundation, Inc.
6
4
 
7
- timestamp='2008-01-16'
5
+ timestamp='2014-09-11'
8
6
 
9
- # This file is (in principle) common to ALL GNU software.
10
- # The presence of a machine in this file suggests that SOME GNU software
11
- # can handle that machine. It does not imply ALL GNU software can.
12
- #
13
- # This file is free software; you can redistribute it and/or modify
14
- # it under the terms of the GNU General Public License as published by
15
- # the Free Software Foundation; either version 2 of the License, or
7
+ # This file is free software; you can redistribute it and/or modify it
8
+ # under the terms of the GNU General Public License as published by
9
+ # the Free Software Foundation; either version 3 of the License, or
16
10
  # (at your option) any later version.
17
11
  #
18
- # This program is distributed in the hope that it will be useful,
19
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
20
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
- # GNU General Public License for more details.
12
+ # This program is distributed in the hope that it will be useful, but
13
+ # WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
+ # General Public License for more details.
22
16
  #
23
17
  # You should have received a copy of the GNU General Public License
24
- # along with this program; if not, write to the Free Software
25
- # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
26
- # 02110-1301, USA.
18
+ # along with this program; if not, see <http://www.gnu.org/licenses/>.
27
19
  #
28
20
  # As a special exception to the GNU General Public License, if you
29
21
  # distribute this file as part of a program that contains a
30
22
  # configuration script generated by Autoconf, you may include it under
31
- # the same distribution terms that you use for the rest of that program.
23
+ # the same distribution terms that you use for the rest of that
24
+ # program. This Exception is an additional permission under section 7
25
+ # of the GNU General Public License, version 3 ("GPLv3").
32
26
 
33
27
 
34
- # Please send patches to <config-patches@gnu.org>. Submit a context
35
- # diff and a properly formatted ChangeLog entry.
28
+ # Please send patches with a ChangeLog entry to config-patches@gnu.org.
36
29
  #
37
30
  # Configuration subroutine to validate and canonicalize a configuration type.
38
31
  # Supply the specified configuration type as an argument.
39
32
  # If it is invalid, we print an error message on stderr and exit with code 1.
40
33
  # Otherwise, we print the canonical config type on stdout and succeed.
41
34
 
35
+ # You can get the latest version of this script from:
36
+ # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
37
+
42
38
  # This file is supposed to be the same for all GNU packages
43
39
  # and recognize all the CPU types, system types and aliases
44
40
  # that are meaningful with *any* GNU software.
@@ -72,8 +68,7 @@ Report bugs and patches to <config-patches@gnu.org>."
72
68
  version="\
73
69
  GNU config.sub ($timestamp)
74
70
 
75
- Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
76
- 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
71
+ Copyright 1992-2014 Free Software Foundation, Inc.
77
72
 
78
73
  This is free software; see the source for copying conditions. There is NO
79
74
  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -120,12 +115,18 @@ esac
120
115
  # Here we must recognize all the valid KERNEL-OS combinations.
121
116
  maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
122
117
  case $maybe_os in
123
- nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
124
- uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
118
+ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
119
+ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
120
+ knetbsd*-gnu* | netbsd*-gnu* | \
121
+ kopensolaris*-gnu* | \
125
122
  storm-chaos* | os2-emx* | rtmk-nova*)
126
123
  os=-$maybe_os
127
124
  basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
128
125
  ;;
126
+ android-linux)
127
+ os=-linux-android
128
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
129
+ ;;
129
130
  *)
130
131
  basic_machine=`echo $1 | sed 's/-[^-]*$//'`
131
132
  if [ $basic_machine != $1 ]
@@ -148,10 +149,13 @@ case $os in
148
149
  -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
149
150
  -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
150
151
  -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
151
- -apple | -axis | -knuth | -cray)
152
+ -apple | -axis | -knuth | -cray | -microblaze*)
152
153
  os=
153
154
  basic_machine=$1
154
155
  ;;
156
+ -bluegene*)
157
+ os=-cnk
158
+ ;;
155
159
  -sim | -cisco | -oki | -wec | -winbond)
156
160
  os=
157
161
  basic_machine=$1
@@ -166,10 +170,10 @@ case $os in
166
170
  os=-chorusos
167
171
  basic_machine=$1
168
172
  ;;
169
- -chorusrdb)
170
- os=-chorusrdb
173
+ -chorusrdb)
174
+ os=-chorusrdb
171
175
  basic_machine=$1
172
- ;;
176
+ ;;
173
177
  -hiux*)
174
178
  os=-hiuxwe2
175
179
  ;;
@@ -214,6 +218,12 @@ case $os in
214
218
  -isc*)
215
219
  basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
216
220
  ;;
221
+ -lynx*178)
222
+ os=-lynxos178
223
+ ;;
224
+ -lynx*5)
225
+ os=-lynxos5
226
+ ;;
217
227
  -lynx*)
218
228
  os=-lynxos
219
229
  ;;
@@ -238,59 +248,86 @@ case $basic_machine in
238
248
  # Some are omitted here because they have special meanings below.
239
249
  1750a | 580 \
240
250
  | a29k \
251
+ | aarch64 | aarch64_be \
241
252
  | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
242
253
  | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
243
254
  | am33_2.0 \
244
- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
255
+ | arc | arceb \
256
+ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
257
+ | avr | avr32 \
258
+ | be32 | be64 \
245
259
  | bfin \
246
- | c4x | clipper \
260
+ | c4x | c8051 | clipper \
247
261
  | d10v | d30v | dlx | dsp16xx \
262
+ | epiphany \
248
263
  | fido | fr30 | frv \
249
264
  | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
265
+ | hexagon \
250
266
  | i370 | i860 | i960 | ia64 \
251
267
  | ip2k | iq2000 \
268
+ | k1om \
269
+ | le32 | le64 \
270
+ | lm32 \
252
271
  | m32c | m32r | m32rle | m68000 | m68k | m88k \
253
- | maxq | mb | microblaze | mcore | mep \
272
+ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
254
273
  | mips | mipsbe | mipseb | mipsel | mipsle \
255
274
  | mips16 \
256
275
  | mips64 | mips64el \
257
- | mips64vr | mips64vrel \
276
+ | mips64octeon | mips64octeonel \
258
277
  | mips64orion | mips64orionel \
278
+ | mips64r5900 | mips64r5900el \
279
+ | mips64vr | mips64vrel \
259
280
  | mips64vr4100 | mips64vr4100el \
260
281
  | mips64vr4300 | mips64vr4300el \
261
282
  | mips64vr5000 | mips64vr5000el \
262
283
  | mips64vr5900 | mips64vr5900el \
263
284
  | mipsisa32 | mipsisa32el \
264
285
  | mipsisa32r2 | mipsisa32r2el \
286
+ | mipsisa32r6 | mipsisa32r6el \
265
287
  | mipsisa64 | mipsisa64el \
266
288
  | mipsisa64r2 | mipsisa64r2el \
289
+ | mipsisa64r6 | mipsisa64r6el \
267
290
  | mipsisa64sb1 | mipsisa64sb1el \
268
291
  | mipsisa64sr71k | mipsisa64sr71kel \
292
+ | mipsr5900 | mipsr5900el \
269
293
  | mipstx39 | mipstx39el \
270
294
  | mn10200 | mn10300 \
295
+ | moxie \
271
296
  | mt \
272
297
  | msp430 \
273
- | nios | nios2 \
298
+ | nds32 | nds32le | nds32be \
299
+ | nios | nios2 | nios2eb | nios2el \
274
300
  | ns16k | ns32k \
275
- | or32 \
301
+ | open8 | or1k | or1knd | or32 \
276
302
  | pdp10 | pdp11 | pj | pjl \
277
- | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
303
+ | powerpc | powerpc64 | powerpc64le | powerpcle \
278
304
  | pyramid \
305
+ | riscv32 | riscv64 \
306
+ | rl78 | rx \
279
307
  | score \
280
- | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
308
+ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
281
309
  | sh64 | sh64le \
282
310
  | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
283
311
  | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
284
- | spu | strongarm \
285
- | tahoe | thumb | tic4x | tic80 | tron \
286
- | v850 | v850e \
312
+ | spu \
313
+ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
314
+ | ubicom32 \
315
+ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
287
316
  | we32k \
288
- | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
289
- | z8k)
317
+ | x86 | xc16x | xstormy16 | xtensa \
318
+ | z8k | z80)
290
319
  basic_machine=$basic_machine-unknown
291
320
  ;;
292
- m6811 | m68hc11 | m6812 | m68hc12)
293
- # Motorola 68HC11/12.
321
+ c54x)
322
+ basic_machine=tic54x-unknown
323
+ ;;
324
+ c55x)
325
+ basic_machine=tic55x-unknown
326
+ ;;
327
+ c6x)
328
+ basic_machine=tic6x-unknown
329
+ ;;
330
+ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
294
331
  basic_machine=$basic_machine-unknown
295
332
  os=-none
296
333
  ;;
@@ -300,6 +337,21 @@ case $basic_machine in
300
337
  basic_machine=mt-unknown
301
338
  ;;
302
339
 
340
+ strongarm | thumb | xscale)
341
+ basic_machine=arm-unknown
342
+ ;;
343
+ xgate)
344
+ basic_machine=$basic_machine-unknown
345
+ os=-none
346
+ ;;
347
+ xscaleeb)
348
+ basic_machine=armeb-unknown
349
+ ;;
350
+
351
+ xscaleel)
352
+ basic_machine=armel-unknown
353
+ ;;
354
+
303
355
  # We use `pc' rather than `unknown'
304
356
  # because (1) that's what they normally are, and
305
357
  # (2) the word "unknown" tends to confuse beginning users.
@@ -314,64 +366,82 @@ case $basic_machine in
314
366
  # Recognize the basic CPU types with company name.
315
367
  580-* \
316
368
  | a29k-* \
369
+ | aarch64-* | aarch64_be-* \
317
370
  | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
318
371
  | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
319
- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
372
+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
320
373
  | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
321
374
  | avr-* | avr32-* \
375
+ | be32-* | be64-* \
322
376
  | bfin-* | bs2000-* \
323
- | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
324
- | clipper-* | craynv-* | cydra-* \
377
+ | c[123]* | c30-* | [cjt]90-* | c4x-* \
378
+ | c8051-* | clipper-* | craynv-* | cydra-* \
325
379
  | d10v-* | d30v-* | dlx-* \
326
380
  | elxsi-* \
327
381
  | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
328
382
  | h8300-* | h8500-* \
329
383
  | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
384
+ | hexagon-* \
330
385
  | i*86-* | i860-* | i960-* | ia64-* \
331
386
  | ip2k-* | iq2000-* \
387
+ | k1om-* \
388
+ | le32-* | le64-* \
389
+ | lm32-* \
332
390
  | m32c-* | m32r-* | m32rle-* \
333
391
  | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
334
- | m88110-* | m88k-* | maxq-* | mcore-* \
392
+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
393
+ | microblaze-* | microblazeel-* \
335
394
  | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
336
395
  | mips16-* \
337
396
  | mips64-* | mips64el-* \
338
- | mips64vr-* | mips64vrel-* \
397
+ | mips64octeon-* | mips64octeonel-* \
339
398
  | mips64orion-* | mips64orionel-* \
399
+ | mips64r5900-* | mips64r5900el-* \
400
+ | mips64vr-* | mips64vrel-* \
340
401
  | mips64vr4100-* | mips64vr4100el-* \
341
402
  | mips64vr4300-* | mips64vr4300el-* \
342
403
  | mips64vr5000-* | mips64vr5000el-* \
343
404
  | mips64vr5900-* | mips64vr5900el-* \
344
405
  | mipsisa32-* | mipsisa32el-* \
345
406
  | mipsisa32r2-* | mipsisa32r2el-* \
407
+ | mipsisa32r6-* | mipsisa32r6el-* \
346
408
  | mipsisa64-* | mipsisa64el-* \
347
409
  | mipsisa64r2-* | mipsisa64r2el-* \
410
+ | mipsisa64r6-* | mipsisa64r6el-* \
348
411
  | mipsisa64sb1-* | mipsisa64sb1el-* \
349
412
  | mipsisa64sr71k-* | mipsisa64sr71kel-* \
413
+ | mipsr5900-* | mipsr5900el-* \
350
414
  | mipstx39-* | mipstx39el-* \
351
415
  | mmix-* \
352
416
  | mt-* \
353
417
  | msp430-* \
354
- | nios-* | nios2-* \
418
+ | nds32-* | nds32le-* | nds32be-* \
419
+ | nios-* | nios2-* | nios2eb-* | nios2el-* \
355
420
  | none-* | np1-* | ns16k-* | ns32k-* \
421
+ | open8-* \
422
+ | or1k*-* \
356
423
  | orion-* \
357
424
  | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
358
- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
425
+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
359
426
  | pyramid-* \
360
- | romp-* | rs6000-* \
361
- | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
427
+ | rl78-* | romp-* | rs6000-* | rx-* \
428
+ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
362
429
  | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
363
430
  | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
364
431
  | sparclite-* \
365
- | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
366
- | tahoe-* | thumb-* \
432
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
433
+ | tahoe-* \
367
434
  | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
435
+ | tile*-* \
368
436
  | tron-* \
369
- | v850-* | v850e-* | vax-* \
437
+ | ubicom32-* \
438
+ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
439
+ | vax-* \
370
440
  | we32k-* \
371
- | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
441
+ | x86-* | x86_64-* | xc16x-* | xps100-* \
372
442
  | xstormy16-* | xtensa*-* \
373
443
  | ymp-* \
374
- | z8k-*)
444
+ | z8k-* | z80-*)
375
445
  ;;
376
446
  # Recognize the basic CPU types without company name, with glob match.
377
447
  xtensa*)
@@ -393,7 +463,7 @@ case $basic_machine in
393
463
  basic_machine=a29k-amd
394
464
  os=-udi
395
465
  ;;
396
- abacus)
466
+ abacus)
397
467
  basic_machine=abacus-unknown
398
468
  ;;
399
469
  adobe68k)
@@ -439,6 +509,10 @@ case $basic_machine in
439
509
  basic_machine=m68k-apollo
440
510
  os=-bsd
441
511
  ;;
512
+ aros)
513
+ basic_machine=i386-pc
514
+ os=-aros
515
+ ;;
442
516
  aux)
443
517
  basic_machine=m68k-apple
444
518
  os=-aux
@@ -455,10 +529,27 @@ case $basic_machine in
455
529
  basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
456
530
  os=-linux
457
531
  ;;
532
+ bluegene*)
533
+ basic_machine=powerpc-ibm
534
+ os=-cnk
535
+ ;;
536
+ c54x-*)
537
+ basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
538
+ ;;
539
+ c55x-*)
540
+ basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
541
+ ;;
542
+ c6x-*)
543
+ basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
544
+ ;;
458
545
  c90)
459
546
  basic_machine=c90-cray
460
547
  os=-unicos
461
548
  ;;
549
+ cegcc)
550
+ basic_machine=arm-unknown
551
+ os=-cegcc
552
+ ;;
462
553
  convex-c1)
463
554
  basic_machine=c1-convex
464
555
  os=-bsd
@@ -487,7 +578,7 @@ case $basic_machine in
487
578
  basic_machine=craynv-cray
488
579
  os=-unicosmp
489
580
  ;;
490
- cr16)
581
+ cr16 | cr16-*)
491
582
  basic_machine=cr16-unknown
492
583
  os=-elf
493
584
  ;;
@@ -526,6 +617,10 @@ case $basic_machine in
526
617
  basic_machine=m88k-motorola
527
618
  os=-sysv3
528
619
  ;;
620
+ dicos)
621
+ basic_machine=i686-pc
622
+ os=-dicos
623
+ ;;
529
624
  djgpp)
530
625
  basic_machine=i586-pc
531
626
  os=-msdosdjgpp
@@ -641,7 +736,6 @@ case $basic_machine in
641
736
  i370-ibm* | ibm*)
642
737
  basic_machine=i370-ibm
643
738
  ;;
644
- # I'm not sure what "Sysv32" means. Should this be sysv3.2?
645
739
  i*86v32)
646
740
  basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
647
741
  os=-sysv32
@@ -699,8 +793,15 @@ case $basic_machine in
699
793
  basic_machine=ns32k-utek
700
794
  os=-sysv
701
795
  ;;
796
+ microblaze*)
797
+ basic_machine=microblaze-xilinx
798
+ ;;
799
+ mingw64)
800
+ basic_machine=x86_64-pc
801
+ os=-mingw64
802
+ ;;
702
803
  mingw32)
703
- basic_machine=i386-pc
804
+ basic_machine=i686-pc
704
805
  os=-mingw32
705
806
  ;;
706
807
  mingw32ce)
@@ -728,6 +829,10 @@ case $basic_machine in
728
829
  basic_machine=powerpc-unknown
729
830
  os=-morphos
730
831
  ;;
832
+ moxiebox)
833
+ basic_machine=moxie-unknown
834
+ os=-moxiebox
835
+ ;;
731
836
  msdos)
732
837
  basic_machine=i386-pc
733
838
  os=-msdos
@@ -735,10 +840,18 @@ case $basic_machine in
735
840
  ms1-*)
736
841
  basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
737
842
  ;;
843
+ msys)
844
+ basic_machine=i686-pc
845
+ os=-msys
846
+ ;;
738
847
  mvs)
739
848
  basic_machine=i370-ibm
740
849
  os=-mvs
741
850
  ;;
851
+ nacl)
852
+ basic_machine=le32-unknown
853
+ os=-nacl
854
+ ;;
742
855
  ncr3000)
743
856
  basic_machine=i486-ncr
744
857
  os=-sysv4
@@ -803,6 +916,12 @@ case $basic_machine in
803
916
  np1)
804
917
  basic_machine=np1-gould
805
918
  ;;
919
+ neo-tandem)
920
+ basic_machine=neo-tandem
921
+ ;;
922
+ nse-tandem)
923
+ basic_machine=nse-tandem
924
+ ;;
806
925
  nsr-tandem)
807
926
  basic_machine=nsr-tandem
808
927
  ;;
@@ -885,9 +1004,10 @@ case $basic_machine in
885
1004
  ;;
886
1005
  power) basic_machine=power-ibm
887
1006
  ;;
888
- ppc) basic_machine=powerpc-unknown
1007
+ ppc | ppcbe) basic_machine=powerpc-unknown
889
1008
  ;;
890
- ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
1009
+ ppc-* | ppcbe-*)
1010
+ basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
891
1011
  ;;
892
1012
  ppcle | powerpclittle | ppc-le | powerpc-little)
893
1013
  basic_machine=powerpcle-unknown
@@ -912,7 +1032,11 @@ case $basic_machine in
912
1032
  basic_machine=i586-unknown
913
1033
  os=-pw32
914
1034
  ;;
915
- rdos)
1035
+ rdos | rdos64)
1036
+ basic_machine=x86_64-pc
1037
+ os=-rdos
1038
+ ;;
1039
+ rdos32)
916
1040
  basic_machine=i386-pc
917
1041
  os=-rdos
918
1042
  ;;
@@ -981,6 +1105,9 @@ case $basic_machine in
981
1105
  basic_machine=i860-stratus
982
1106
  os=-sysv4
983
1107
  ;;
1108
+ strongarm-* | thumb-*)
1109
+ basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
1110
+ ;;
984
1111
  sun2)
985
1112
  basic_machine=m68000-sun
986
1113
  ;;
@@ -1037,20 +1164,8 @@ case $basic_machine in
1037
1164
  basic_machine=t90-cray
1038
1165
  os=-unicos
1039
1166
  ;;
1040
- tic54x | c54x*)
1041
- basic_machine=tic54x-unknown
1042
- os=-coff
1043
- ;;
1044
- tic55x | c55x*)
1045
- basic_machine=tic55x-unknown
1046
- os=-coff
1047
- ;;
1048
- tic6x | c6x*)
1049
- basic_machine=tic6x-unknown
1050
- os=-coff
1051
- ;;
1052
1167
  tile*)
1053
- basic_machine=tile-unknown
1168
+ basic_machine=$basic_machine-unknown
1054
1169
  os=-linux-gnu
1055
1170
  ;;
1056
1171
  tx39)
@@ -1120,6 +1235,9 @@ case $basic_machine in
1120
1235
  xps | xps100)
1121
1236
  basic_machine=xps100-honeywell
1122
1237
  ;;
1238
+ xscale-* | xscalee[bl]-*)
1239
+ basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
1240
+ ;;
1123
1241
  ymp)
1124
1242
  basic_machine=ymp-cray
1125
1243
  os=-unicos
@@ -1128,6 +1246,10 @@ case $basic_machine in
1128
1246
  basic_machine=z8k-unknown
1129
1247
  os=-sim
1130
1248
  ;;
1249
+ z80-*-coff)
1250
+ basic_machine=z80-unknown
1251
+ os=-sim
1252
+ ;;
1131
1253
  none)
1132
1254
  basic_machine=none-none
1133
1255
  os=-none
@@ -1166,7 +1288,7 @@ case $basic_machine in
1166
1288
  we32k)
1167
1289
  basic_machine=we32k-att
1168
1290
  ;;
1169
- sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
1291
+ sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
1170
1292
  basic_machine=sh-unknown
1171
1293
  ;;
1172
1294
  sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
@@ -1213,9 +1335,12 @@ esac
1213
1335
  if [ x"$os" != x"" ]
1214
1336
  then
1215
1337
  case $os in
1216
- # First match some system type aliases
1217
- # that might get confused with valid system types.
1338
+ # First match some system type aliases
1339
+ # that might get confused with valid system types.
1218
1340
  # -solaris* is a basic system type, with this one exception.
1341
+ -auroraux)
1342
+ os=-auroraux
1343
+ ;;
1219
1344
  -solaris1 | -solaris1.*)
1220
1345
  os=`echo $os | sed -e 's|solaris1|sunos4|'`
1221
1346
  ;;
@@ -1236,29 +1361,31 @@ case $os in
1236
1361
  # Each alternative MUST END IN A *, to match a version number.
1237
1362
  # -sysv* is not here because it comes later, after sysvr4.
1238
1363
  -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
1239
- | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
1240
- | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
1364
+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
1365
+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
1366
+ | -sym* | -kopensolaris* | -plan9* \
1241
1367
  | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
1242
- | -aos* \
1368
+ | -aos* | -aros* \
1243
1369
  | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
1244
1370
  | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
1245
1371
  | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
1246
- | -openbsd* | -solidbsd* \
1372
+ | -bitrig* | -openbsd* | -solidbsd* \
1247
1373
  | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
1248
1374
  | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
1249
1375
  | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
1250
1376
  | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
1251
- | -chorusos* | -chorusrdb* \
1252
- | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1253
- | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
1254
- | -uxpv* | -beos* | -mpeix* | -udk* \
1377
+ | -chorusos* | -chorusrdb* | -cegcc* \
1378
+ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
1379
+ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
1380
+ | -linux-newlib* | -linux-musl* | -linux-uclibc* \
1381
+ | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
1255
1382
  | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
1256
1383
  | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
1257
1384
  | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
1258
1385
  | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
1259
1386
  | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
1260
1387
  | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
1261
- | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
1388
+ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
1262
1389
  # Remember, each alternative MUST END IN *, to match a version number.
1263
1390
  ;;
1264
1391
  -qnx*)
@@ -1297,7 +1424,7 @@ case $os in
1297
1424
  -opened*)
1298
1425
  os=-openedition
1299
1426
  ;;
1300
- -os400*)
1427
+ -os400*)
1301
1428
  os=-os400
1302
1429
  ;;
1303
1430
  -wince*)
@@ -1346,7 +1473,7 @@ case $os in
1346
1473
  -sinix*)
1347
1474
  os=-sysv4
1348
1475
  ;;
1349
- -tpf*)
1476
+ -tpf*)
1350
1477
  os=-tpf
1351
1478
  ;;
1352
1479
  -triton*)
@@ -1382,12 +1509,14 @@ case $os in
1382
1509
  -aros*)
1383
1510
  os=-aros
1384
1511
  ;;
1385
- -kaos*)
1386
- os=-kaos
1387
- ;;
1388
1512
  -zvmoe)
1389
1513
  os=-zvmoe
1390
1514
  ;;
1515
+ -dicos*)
1516
+ os=-dicos
1517
+ ;;
1518
+ -nacl*)
1519
+ ;;
1391
1520
  -none)
1392
1521
  ;;
1393
1522
  *)
@@ -1410,10 +1539,10 @@ else
1410
1539
  # system, and we'll never get to this point.
1411
1540
 
1412
1541
  case $basic_machine in
1413
- score-*)
1542
+ score-*)
1414
1543
  os=-elf
1415
1544
  ;;
1416
- spu-*)
1545
+ spu-*)
1417
1546
  os=-elf
1418
1547
  ;;
1419
1548
  *-acorn)
@@ -1425,8 +1554,23 @@ case $basic_machine in
1425
1554
  arm*-semi)
1426
1555
  os=-aout
1427
1556
  ;;
1428
- c4x-* | tic4x-*)
1429
- os=-coff
1557
+ c4x-* | tic4x-*)
1558
+ os=-coff
1559
+ ;;
1560
+ c8051-*)
1561
+ os=-elf
1562
+ ;;
1563
+ hexagon-*)
1564
+ os=-elf
1565
+ ;;
1566
+ tic54x-*)
1567
+ os=-coff
1568
+ ;;
1569
+ tic55x-*)
1570
+ os=-coff
1571
+ ;;
1572
+ tic6x-*)
1573
+ os=-coff
1430
1574
  ;;
1431
1575
  # This must come before the *-dec entry.
1432
1576
  pdp10-*)
@@ -1446,14 +1590,11 @@ case $basic_machine in
1446
1590
  ;;
1447
1591
  m68000-sun)
1448
1592
  os=-sunos3
1449
- # This also exists in the configure program, but was not the
1450
- # default.
1451
- # os=-sunos4
1452
1593
  ;;
1453
1594
  m68*-cisco)
1454
1595
  os=-aout
1455
1596
  ;;
1456
- mep-*)
1597
+ mep-*)
1457
1598
  os=-elf
1458
1599
  ;;
1459
1600
  mips*-cisco)
@@ -1480,7 +1621,7 @@ case $basic_machine in
1480
1621
  *-ibm)
1481
1622
  os=-aix
1482
1623
  ;;
1483
- *-knuth)
1624
+ *-knuth)
1484
1625
  os=-mmixware
1485
1626
  ;;
1486
1627
  *-wec)
@@ -1585,7 +1726,7 @@ case $basic_machine in
1585
1726
  -sunos*)
1586
1727
  vendor=sun
1587
1728
  ;;
1588
- -aix*)
1729
+ -cnk*|-aix*)
1589
1730
  vendor=ibm
1590
1731
  ;;
1591
1732
  -beos*)