16762 lines
520 KiB
Diff
16762 lines
520 KiB
Diff
From 51d5e83d28d33053022a7c858d892894208b32b2 Mon Sep 17 00:00:00 2001
|
|
From: rpm-build <rpm-build>
|
|
Date: Tue, 30 May 2023 13:40:42 +0200
|
|
Subject: [PATCH] deps: update c-ares to 1.19.1
|
|
|
|
Recreates: https://github.com/nodejs/node/pull/48115
|
|
Resolves: CVE-2023-31124 CVE-2023-31130 CVE-2023-31147 CVE-2023-32067
|
|
Signed-off-by: rpm-build <rpm-build>
|
|
---
|
|
deps/cares/CHANGES | 907 ++++--
|
|
deps/cares/CMakeLists.txt | 27 +-
|
|
deps/cares/INSTALL.md | 14 +
|
|
deps/cares/Makefile.Watcom | 50 +-
|
|
deps/cares/Makefile.in | 2 +
|
|
deps/cares/README.md | 2 +-
|
|
deps/cares/RELEASE-NOTES | 118 +-
|
|
deps/cares/aclocal.m4 | 1 +
|
|
deps/cares/aminclude_static.am | 2 +-
|
|
deps/cares/c-ares-config.cmake.in | 13 +-
|
|
deps/cares/cares.gyp | 1 +
|
|
deps/cares/config.guess | 1500 ++++++----
|
|
deps/cares/config.sub | 2609 +++++++++--------
|
|
deps/cares/configure | 1052 +++++--
|
|
deps/cares/configure.ac | 19 +-
|
|
deps/cares/docs/Makefile.in | 2 +
|
|
deps/cares/docs/acountry.1 | 2 +-
|
|
deps/cares/docs/adig.1 | 24 +-
|
|
deps/cares/docs/ahost.1 | 2 +-
|
|
deps/cares/docs/ares_destroy_options.3 | 6 +-
|
|
deps/cares/docs/ares_dup.3 | 6 +-
|
|
deps/cares/docs/ares_expand_name.3 | 10 +-
|
|
deps/cares/docs/ares_expand_string.3 | 10 +-
|
|
deps/cares/docs/ares_free_data.3 | 8 +-
|
|
deps/cares/docs/ares_free_hostent.3 | 6 +-
|
|
deps/cares/docs/ares_free_string.3 | 6 +-
|
|
deps/cares/docs/ares_get_servers.3 | 11 +-
|
|
deps/cares/docs/ares_getaddrinfo.3 | 18 +-
|
|
deps/cares/docs/ares_gethostbyaddr.3 | 17 +-
|
|
deps/cares/docs/ares_gethostbyname.3 | 16 +-
|
|
deps/cares/docs/ares_gethostbyname_file.3 | 8 +-
|
|
deps/cares/docs/ares_getnameinfo.3 | 17 +-
|
|
deps/cares/docs/ares_getsock.3 | 8 +-
|
|
deps/cares/docs/ares_inet_ntop.3 | 8 +-
|
|
deps/cares/docs/ares_inet_pton.3 | 6 +-
|
|
deps/cares/docs/ares_init_options.3 | 23 +-
|
|
deps/cares/docs/ares_library_init.3 | 3 +-
|
|
deps/cares/docs/ares_mkquery.3 | 10 +-
|
|
deps/cares/docs/ares_parse_a_reply.3 | 10 +-
|
|
deps/cares/docs/ares_parse_aaaa_reply.3 | 10 +-
|
|
deps/cares/docs/ares_parse_mx_reply.3 | 9 +-
|
|
deps/cares/docs/ares_parse_naptr_reply.3 | 8 +-
|
|
deps/cares/docs/ares_parse_ns_reply.3 | 8 +-
|
|
deps/cares/docs/ares_parse_ptr_reply.3 | 10 +-
|
|
deps/cares/docs/ares_parse_soa_reply.3 | 8 +-
|
|
deps/cares/docs/ares_parse_srv_reply.3 | 8 +-
|
|
deps/cares/docs/ares_parse_txt_reply.3 | 14 +-
|
|
deps/cares/docs/ares_parse_uri_reply.3 | 8 +-
|
|
deps/cares/docs/ares_process.3 | 2 +-
|
|
deps/cares/docs/ares_query.3 | 17 +-
|
|
deps/cares/docs/ares_save_options.3 | 7 +-
|
|
deps/cares/docs/ares_search.3 | 17 +-
|
|
deps/cares/docs/ares_send.3 | 15 +-
|
|
deps/cares/docs/ares_set_local_dev.3 | 6 +-
|
|
deps/cares/docs/ares_set_local_ip4.3 | 6 +-
|
|
deps/cares/docs/ares_set_local_ip6.3 | 14 +-
|
|
deps/cares/docs/ares_set_servers.3 | 11 +-
|
|
deps/cares/docs/ares_set_servers_csv.3 | 9 +-
|
|
deps/cares/docs/ares_set_socket_callback.3 | 14 +-
|
|
.../docs/ares_set_socket_configure_callback.3 | 16 +-
|
|
deps/cares/docs/ares_set_socket_functions.3 | 25 +-
|
|
deps/cares/docs/ares_set_sortlist.3 | 6 +-
|
|
deps/cares/docs/ares_strerror.3 | 6 +-
|
|
deps/cares/include/Makefile.in | 2 +
|
|
deps/cares/include/ares.h | 9 +
|
|
deps/cares/include/ares_version.h | 4 +-
|
|
deps/cares/libcares.pc.cmake | 7 +-
|
|
deps/cares/ltmain.sh | 827 ++++--
|
|
deps/cares/m4/ax_cxx_compile_stdcxx.m4 | 1009 +++++++
|
|
deps/cares/m4/ax_cxx_compile_stdcxx_11.m4 | 158 +-
|
|
deps/cares/m4/ax_pthread.m4 | 444 ++-
|
|
deps/cares/m4/cares-compilers.m4 | 4 +-
|
|
deps/cares/m4/cares-functions.m4 | 85 +
|
|
deps/cares/m4/libtool.m4 | 229 +-
|
|
deps/cares/m4/ltoptions.m4 | 4 +-
|
|
deps/cares/m4/ltsugar.m4 | 2 +-
|
|
deps/cares/m4/ltversion.m4 | 13 +-
|
|
deps/cares/m4/lt~obsolete.m4 | 4 +-
|
|
deps/cares/src/Makefile.in | 2 +
|
|
deps/cares/src/lib/CMakeLists.txt | 5 +
|
|
deps/cares/src/lib/Makefile.in | 32 +-
|
|
deps/cares/src/lib/Makefile.inc | 4 +-
|
|
deps/cares/src/lib/ares__addrinfo_localhost.c | 2 +-
|
|
deps/cares/src/lib/ares__readaddrinfo.c | 9 +-
|
|
deps/cares/src/lib/ares_config.h.cmake | 3 +
|
|
deps/cares/src/lib/ares_config.h.in | 3 +
|
|
deps/cares/src/lib/ares_data.h | 5 +
|
|
deps/cares/src/lib/ares_destroy.c | 8 +
|
|
deps/cares/src/lib/ares_expand_name.c | 6 +-
|
|
deps/cares/src/lib/ares_getaddrinfo.c | 89 +-
|
|
deps/cares/src/lib/ares_init.c | 580 +---
|
|
deps/cares/src/lib/ares_library_init.c | 91 +-
|
|
deps/cares/src/lib/ares_library_init.h | 43 -
|
|
deps/cares/src/lib/ares_private.h | 22 +-
|
|
deps/cares/src/lib/ares_process.c | 71 +-
|
|
deps/cares/src/lib/ares_query.c | 36 +-
|
|
deps/cares/src/lib/ares_rand.c | 279 ++
|
|
deps/cares/src/lib/ares_send.c | 12 +-
|
|
deps/cares/src/lib/ares_strsplit.c | 172 +-
|
|
deps/cares/src/lib/ares_strsplit.h | 19 +-
|
|
deps/cares/src/lib/inet_net_pton.c | 194 +-
|
|
deps/cares/src/tools/Makefile.am | 4 +-
|
|
deps/cares/src/tools/Makefile.in | 17 +-
|
|
deps/cares/src/tools/acountry.c | 11 +-
|
|
deps/cares/src/tools/adig.c | 39 +-
|
|
deps/cares/src/tools/ahost.c | 23 +-
|
|
106 files changed, 6955 insertions(+), 4435 deletions(-)
|
|
create mode 100644 deps/cares/m4/ax_cxx_compile_stdcxx.m4
|
|
delete mode 100644 deps/cares/src/lib/ares_library_init.h
|
|
create mode 100644 deps/cares/src/lib/ares_rand.c
|
|
|
|
diff --git a/deps/cares/CHANGES b/deps/cares/CHANGES
|
|
index fcdc043..d465143 100644
|
|
--- a/deps/cares/CHANGES
|
|
+++ b/deps/cares/CHANGES
|
|
@@ -1,5 +1,675 @@
|
|
Changelog for the c-ares project. Generated with git2changes.pl
|
|
|
|
+Version 1.19.1 (22 May 2023)
|
|
+
|
|
+bradh352 (22 May 2023)
|
|
+- Makefile.inc Windows requires tabs not spaces for nmake
|
|
+
|
|
+GitHub (22 May 2023)
|
|
+- [Daniel Stenberg brought this change]
|
|
+
|
|
+ ares_expand_name: fix compiler warnings (#522)
|
|
+
|
|
+ Fix some compiler warnings (not introduced in this release)
|
|
+
|
|
+ Fix By: Daniel Stenberg (@bagder)
|
|
+
|
|
+bradh352 (22 May 2023)
|
|
+- windows MSVC compiler fix on 32bit
|
|
+
|
|
+- update security advisory links
|
|
+
|
|
+- minor CI issues fixes for imported inet_net_pton
|
|
+
|
|
+- ares_rand static analysis fixes from CI
|
|
+
|
|
+- windows build fix
|
|
+
|
|
+- security release notes
|
|
+
|
|
+GitHub (22 May 2023)
|
|
+- [Brad House brought this change]
|
|
+
|
|
+ Merge pull request from GHSA-9g78-jv2r-p7vc
|
|
+
|
|
+- [Brad House brought this change]
|
|
+
|
|
+ Merge pull request from GHSA-x6mf-cxr9-8q6v
|
|
+
|
|
+ * Merged latest OpenBSD changes for inet_net_pton_ipv6() into c-ares.
|
|
+ * Always use our own IP conversion functions now, do not delegate to OS
|
|
+ so we can have consistency in testing and fuzzing.
|
|
+ * Removed bogus test cases that never should have passed.
|
|
+ * Add new test case for crash bug found.
|
|
+
|
|
+ Fix By: Brad House (@bradh352)
|
|
+
|
|
+- [Brad House brought this change]
|
|
+
|
|
+ Merge pull request from GHSA-8r8p-23f3-64c2
|
|
+
|
|
+ * segment random number generation into own file
|
|
+
|
|
+ * abstract random code to make it more modular so we can have multiple backends
|
|
+
|
|
+ * rand: add support for arc4random_buf() and also direct CARES_RANDOM_FILE reading
|
|
+
|
|
+ * autotools: fix detection of arc4random_buf
|
|
+
|
|
+ * rework initial rc4 seed for PRNG as last fallback
|
|
+
|
|
+ * rc4: more proper implementation, simplified for clarity
|
|
+
|
|
+ * clarifications
|
|
+
|
|
+bradh352 (20 May 2023)
|
|
+- add public release note information
|
|
+
|
|
+- bump version to 1.19.1
|
|
+
|
|
+GitHub (6 May 2023)
|
|
+- [Gregor Jasny brought this change]
|
|
+
|
|
+ test: fix warning about uninitialized memory (#515)
|
|
+
|
|
+ fix warning in tests
|
|
+
|
|
+ Fix By: Gregor Jasny (@gjasny)
|
|
+
|
|
+- [lifenjoiner brought this change]
|
|
+
|
|
+ Turn off IPV6_V6ONLY on Windows if it is supported (#520)
|
|
+
|
|
+ Turn off IPV6_V6ONLY on Windows if it is supported, support for IPv4-mapped IPv6 addresses.
|
|
+
|
|
+ IPV6_V6ONLY refs:
|
|
+ https://en.wikipedia.org/wiki/IPv6#IPv4-mapped_IPv6_addresses
|
|
+ https://github.com/golang/go/blob/master/src/net/ipsock_posix.go
|
|
+ https://en.wikipedia.org/wiki/Unix-like
|
|
+ off:
|
|
+ https://www.kernel.org/doc/html/latest/networking/ip-sysctl.html#proc-sys-net-ipv6-variables
|
|
+ https://man.netbsd.org/inet6.4
|
|
+ https://man.freebsd.org/cgi/man.cgi?query=inet6
|
|
+ https://github.com/apple-oss-distributions/xnu/blob/main/bsd/man/man4/inet6.4
|
|
+ on:
|
|
+ https://learn.microsoft.com/en-us/windows/win32/winsock/ipproto-ipv6-socket-options
|
|
+ acts like off, but returns 1 and dummy setting:
|
|
+ https://man.dragonflybsd.org/?command=inet6
|
|
+ https://man.dragonflybsd.org/?command=ip6
|
|
+ unsupported and read-only returns 1:
|
|
+ https://man.openbsd.org/inet6.4
|
|
+
|
|
+ default value refs:
|
|
+ https://datatracker.ietf.org/doc/html/rfc3493#section-5.3
|
|
+ https://www.kernel.org/doc/html/latest/networking/ip-sysctl.html#proc-sys-net-ipv6-variables
|
|
+
|
|
+- [Brad House brought this change]
|
|
+
|
|
+ Merge pull request from GHSA-54xr-f67r-4pc4
|
|
+
|
|
+ * CARES_RANDOM_FILE should always default to /dev/urandom
|
|
+
|
|
+ During cross-compilation, CARES_RANDOM_FILE may not be able to be appropriately
|
|
+ detected, therefore we should always set it to /dev/urandom and allow the
|
|
+ entity requesting compilation override the value. The code does appropriately
|
|
+ fall back if CARES_RANDOM_FILE cannot be opened.
|
|
+
|
|
+ * use set not option
|
|
+
|
|
+bradh352 (18 Mar 2023)
|
|
+- ares_getaddrinfo using service of "0" should be allowed
|
|
+
|
|
+ As per #517 glibc allows a service/servname of "0" to be treated the
|
|
+ same as if NULL was provided. Also, add a sanity check to ensure
|
|
+ the port number is in range instead of a blind cast.
|
|
+
|
|
+ Fixes: #517
|
|
+ Fix By: Brad House (@bradh352)
|
|
+
|
|
+GitHub (10 Feb 2023)
|
|
+- [Nikolaos Chatzikonstantinou brought this change]
|
|
+
|
|
+ fix memory leak in ares_send (#511)
|
|
+
|
|
+ When the condition channel->nservers < 1 holds, the function returns
|
|
+ prematurely, without deallocating query->tcpbuf. We rearrange the
|
|
+ check to be done prior to the allocations, avoiding the memory
|
|
+ leak. In this way, we also avoid unnecessary allocations if
|
|
+ channel->nservers < 1 holds.
|
|
+
|
|
+ Fix By: Nikolaos Chatzikonstantinou (@createyourpersonalaccount)
|
|
+
|
|
+- [Nikolaos Chatzikonstantinou brought this change]
|
|
+
|
|
+ change comment style to old-style (#513)
|
|
+
|
|
+ Following the README.md guidelines,
|
|
+
|
|
+ "Comments must be written in the old-style"
|
|
+
|
|
+ the comment is changed to the old style.
|
|
+
|
|
+ Fix By: Nikolaos Chatzikonstantinou (@createyourpersonalaccount)
|
|
+
|
|
+- [Nikolaos Chatzikonstantinou brought this change]
|
|
+
|
|
+ use strncasecmp in ares__strsplit (#512)
|
|
+
|
|
+ strncasecmp on platforms that don't already have it is already #define'd to a private implementation. There is no need to have OS-specific logic. Also removes ares__strsplit.h as a header as ares_private.h already includes it.
|
|
+
|
|
+ Fix By: Nikolaos Chatzikonstantinou (@createyourpersonalaccount)
|
|
+
|
|
+- [Yijie Ma brought this change]
|
|
+
|
|
+ Fix a typo in ares_init_options.3 (#510)
|
|
+
|
|
+ that -> than
|
|
+
|
|
+ Fix By: Yijie Ma (@yijiem)
|
|
+
|
|
+- [Douglas R. Reno brought this change]
|
|
+
|
|
+ Watcom Portability Improvements (#509)
|
|
+
|
|
+ - Modify the Watcom Makefile for the source code reorganization (#352)
|
|
+ - Add *.map files into .gitignore
|
|
+ - Fix build errors with Watcom's builtin Windows SDK (which is rather
|
|
+ outdated). It's smart enough to understand Windows Vista, but doesn't
|
|
+ have PMIB_UNICASTIPADDRESS_TABLE or MIB_IPFORWARD_ROW2.
|
|
+
|
|
+ It may be possible to use a different Windows SDK with the Watcom
|
|
+ compiler, such as the most recent Windows 10 SDK. Alternatively the SDK
|
|
+ in OpenWatcom 2.0 (which is in development) should fix this.
|
|
+
|
|
+ I have no problems testing this Makefile prior to releases, just give me
|
|
+ a ping.
|
|
+
|
|
+ Tested with Windows Vista, Windows 7, and Windows 10 using 'adig',
|
|
+ 'acountry', and 'ahost'. This also seems to work on Windows XP, though
|
|
+ this is likely due to the compiler in use.
|
|
+
|
|
+ Fix By: Douglas R. Reno (@renodr)
|
|
+ Fixes Bug: #352
|
|
+
|
|
+- [Jay Freeman (saurik) brought this change]
|
|
+
|
|
+ ignore aminclude_static.am, as generated by AX_AM_MACROS_STATIC (#508)
|
|
+
|
|
+ Fix By: Jay Freeman (@saurik)
|
|
+
|
|
+- [Jay Freeman (saurik) brought this change]
|
|
+
|
|
+ sync ax_pthread.m4 with upstream (#507)
|
|
+
|
|
+ The version in the repository is many years old so this PR simply pulls in the latest
|
|
+ available revision from:
|
|
+ http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=tree;f=m4
|
|
+
|
|
+ Fix By: Jay Freeman (@saurik)
|
|
+
|
|
+- [Chilledheart brought this change]
|
|
+
|
|
+ Windows: Invalid stack variable out of scope for HOSTS file path (#502)
|
|
+
|
|
+ In some conditions Windows might try to use a stack address that has gone out of scope when determining where to read the hosts data from for file lookups.
|
|
+
|
|
+ Fix By: @Chilledheart
|
|
+
|
|
+- [Brad House brought this change]
|
|
+
|
|
+ sync ax_cxx_compile_stdcxx_11.m4 with upstream (#505)
|
|
+
|
|
+ It was reported that ax_cxx_compile_stdcxx_11.m4 was not compatible with uclibc.
|
|
+ The version in the repository is many years old so this PR simply pulls in the latest
|
|
+ available revision from:
|
|
+ http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=tree;f=m4
|
|
+
|
|
+ Fixes Bug: #504
|
|
+ Fix By: Brad House (@bradh352)
|
|
+
|
|
+Version 1.19.0 (18 Jan 2023)
|
|
+
|
|
+bradh352 (18 Jan 2023)
|
|
+- Prep for 1.19.0 release
|
|
+
|
|
+- Fix inverted logic in 25523e2
|
|
+
|
|
+ Fix .localhost. handling in prior commit
|
|
+
|
|
+ Fix By: Brad House (@bradh352)
|
|
+
|
|
+- RFC6761 localhost definition includes subdomains
|
|
+
|
|
+ RFC6761 6.3 states:
|
|
+ The domain "localhost." and any names falling within ".localhost."
|
|
+
|
|
+ We were only honoring "localhost".
|
|
+
|
|
+ Fixes: #477
|
|
+ Fix By: Brad House (@bradh352)
|
|
+
|
|
+- docs: ARES_OPT_UDP_PORT and ARES_OPT_TCP_PORT docs wrong byte order
|
|
+
|
|
+ As per #487, documentation states the port should be in network byte
|
|
+ order, but we can see from the test cases using MockServers on
|
|
+ different ports that this is not the case, it is definitely in host
|
|
+ byte order.
|
|
+
|
|
+ Fix By: Brad House (@bradh352)
|
|
+
|
|
+GitHub (18 Jan 2023)
|
|
+- [hopper-vul brought this change]
|
|
+
|
|
+ Add str len check in config_sortlist to avoid stack overflow (#497)
|
|
+
|
|
+ In ares_set_sortlist, it calls config_sortlist(..., sortstr) to parse
|
|
+ the input str and initialize a sortlist configuration.
|
|
+
|
|
+ However, ares_set_sortlist has not any checks about the validity of the input str.
|
|
+ It is very easy to create an arbitrary length stack overflow with the unchecked
|
|
+ `memcpy(ipbuf, str, q-str);` and `memcpy(ipbufpfx, str, q-str);`
|
|
+ statements in the config_sortlist call, which could potentially cause severe
|
|
+ security impact in practical programs.
|
|
+
|
|
+ This commit add necessary check for `ipbuf` and `ipbufpfx` which avoid the
|
|
+ potential stack overflows.
|
|
+
|
|
+ fixes #496
|
|
+
|
|
+ Fix By: @hopper-vul
|
|
+
|
|
+bradh352 (18 Jan 2023)
|
|
+- Fix build due to str-split sed gone wrong
|
|
+
|
|
+ Fix By: Brad House (@bradh352)
|
|
+
|
|
+- cirrus-ci: switch to scan-build-py for MacOS
|
|
+
|
|
+ MacOS seems to work better with scan-build-py
|
|
+
|
|
+ Fix By: Brad House (@bradh352)
|
|
+
|
|
+- ares_strsplit* -> ares__strsplit* to comply with internal function naming
|
|
+
|
|
+ Inspired by #495, but was missing test cases and would failed to build.
|
|
+
|
|
+ Fix By: Brad House (@bradh352), Daniel Stenberg (@bagder)
|
|
+
|
|
+- Cirrus-CI: MacOS Homebrew has changed from /usr/local/opt to /opt/homebrew
|
|
+
|
|
+ Fix paths for homebrew.
|
|
+
|
|
+ Fix By: Brad House (@bradh352)
|
|
+
|
|
+- cirrus-ci: iOS build needs to use ARM MacOS image
|
|
+
|
|
+ CirrusCI removed Intel-based MacOS images. Need to switch
|
|
+ iOS builds to use new ARM images as well.
|
|
+
|
|
+ Fix By: Brad House (@bradh352)
|
|
+
|
|
+- cirrus-ci: new MacOS image
|
|
+
|
|
+ Cirrus-CI has recently EOL'd Intel MacOS VMs, switch to the latest
|
|
+ ARM-based image.
|
|
+
|
|
+ Fix By: Brad House (@bradh352)
|
|
+
|
|
+- acountry was passing stack variable to callback
|
|
+
|
|
+ Recent ASAN versions picked up that acountry was passing stack
|
|
+ variables to ares_gethostbyname() then leaving the stack context.
|
|
+ We will now allocate a buffer for this.
|
|
+
|
|
+ Fix By: Brad House (@bradh352)
|
|
+
|
|
+GitHub (13 Dec 2022)
|
|
+- [Daniel Stenberg brought this change]
|
|
+
|
|
+ docs: reformat/cleanup man pages SYNOPSIS sections (#494)
|
|
+
|
|
+ To make them render "nicer" in both terminals and on the website.
|
|
+
|
|
+ - Removes the bold
|
|
+ - Removes .PP lines
|
|
+ - Indents them more like proper code style
|
|
+
|
|
+ Fix By: Daniel Stenberg (@bagder)
|
|
+
|
|
+- [Nikolaos Chatzikonstantinou brought this change]
|
|
+
|
|
+ bug fix: new ares_strsplit (#492)
|
|
+
|
|
+ * add ares_strsplit unit test
|
|
+
|
|
+ The test reveals a bug in the implementation of ares_strsplit when the
|
|
+ make_set parameter is set to 1, as distinct domains are confused for
|
|
+ equal:
|
|
+
|
|
+ out = ares_strsplit("example.com, example.co", ", ", 1, &n);
|
|
+
|
|
+ evaluates to n = 1 with out = { "example.com" }.
|
|
+
|
|
+ * bugfix and cleanup of ares_strsplit
|
|
+
|
|
+ The purpose of ares_strsplit in c-ares is to split a comma-delimited
|
|
+ string of unique (up to letter case) domains. However, because the
|
|
+ terminating NUL byte was not checked in the substrings when comparing
|
|
+ for uniqueness, the function would sometimes drop domains it should
|
|
+ not. For example,
|
|
+
|
|
+ ares_strsplit("example.com, example.co", ",")
|
|
+
|
|
+ would only result in a single domain "example.com".
|
|
+
|
|
+ Aside from this bugfix, the following cleanup is performed:
|
|
+
|
|
+ 1. The tokenization now happens with the help of strcspn instead of the
|
|
+ custom function is_delim.
|
|
+ 2. The function list_contains has been inlined.
|
|
+ 3. The interface of ares_strsplit has been simplified by removing the
|
|
+ parameter make_set since in practice it was always 1.
|
|
+ 4. There are fewer passes over the input string.
|
|
+ 5. We resize the table using realloc() down to its minimum size.
|
|
+ 6. The docstring of ares_strsplit is updated and also a couple typos
|
|
+ are fixed.
|
|
+
|
|
+ There occurs a single use of ares_strsplit and since the make_set
|
|
+ parameter has been removed, the call in ares_init.c is modified
|
|
+ accordingly. The unit test for ares_strsplit is also updated.
|
|
+
|
|
+ Fix By: Nikolaos Chatzikonstantinou (@createyourpersonalaccount)
|
|
+
|
|
+bradh352 (23 Oct 2022)
|
|
+- CirrusCI: update freebsd image
|
|
+
|
|
+ Old FreeBSD image for CirrusCI has issues with newer symbols, update to later one.
|
|
+
|
|
+ Fix By: Brad House (@bradh352)
|
|
+
|
|
+GitHub (23 Oct 2022)
|
|
+- [Stephen Sachs brought this change]
|
|
+
|
|
+ Fix Intel compiler deprecated options (#485)
|
|
+
|
|
+ Options `-we ###` and `-wd ###` should not include a whitespace. They are also deprecated and `-diag-error` and `-diag-disable` are their replacements.
|
|
+
|
|
+ Intel compiler 2021.6 is not able to be used in configure without the proposed patch.
|
|
+
|
|
+ Fix By: Stephen Sachs (@stephenmsachs)
|
|
+
|
|
+- [Jonathan Ringer brought this change]
|
|
+
|
|
+ Allow for CMake to use absolute install paths (#486)
|
|
+
|
|
+ Generated libcares.pc could have bad paths when using absolute paths.
|
|
+
|
|
+ Fix By: Jonathan Ringer (@jonringer)
|
|
+
|
|
+- [Thomas Dreibholz brought this change]
|
|
+
|
|
+ Fix for issue #488: ensure that the number of iovec entries does not exceed system limits. (#489)
|
|
+
|
|
+ c-ares could try to exceed maximum number of iovec entries supported by system.
|
|
+
|
|
+ Fix By: Thomas Dreibholz (@dreibh)
|
|
+
|
|
+- [bsergean brought this change]
|
|
+
|
|
+ Add include guards to ares_data.h (#491)
|
|
+
|
|
+ All the other header files in the src/lib folder do have an include guard so it look like an overthought.
|
|
+
|
|
+ Fix By: @bsergean
|
|
+
|
|
+- [Brad Spencer brought this change]
|
|
+
|
|
+ Fix typo in docs for ares_process_fd (#490)
|
|
+
|
|
+ A single letter was missing
|
|
+
|
|
+ Fix By: Brad Spencer (@b-spencer)
|
|
+
|
|
+- [lifenjoiner brought this change]
|
|
+
|
|
+ tools: refine help (#481)
|
|
+
|
|
+ fix invalid help options and documentation typos
|
|
+
|
|
+ Fix By: @lifenjoiner
|
|
+
|
|
+- [lifenjoiner brought this change]
|
|
+
|
|
+ Git: ignore CMake temporary files (#480)
|
|
+
|
|
+ exclude more files from git
|
|
+
|
|
+ Fix By: @lifenjoiner
|
|
+
|
|
+- [lifenjoiner brought this change]
|
|
+
|
|
+ adig: fix `-T` option (#479)
|
|
+
|
|
+ Helper was missing flag to enable TCP mode of operation.
|
|
+
|
|
+ Fix By: @lifenjoiner
|
|
+
|
|
+- [Frank brought this change]
|
|
+
|
|
+ Add vcpkg installation instructions (#478)
|
|
+
|
|
+ Update to include vcpkg installation instructions
|
|
+
|
|
+ Fix By: @FrankXie05
|
|
+
|
|
+- [marc-groundctl brought this change]
|
|
+
|
|
+ Convert total timeout to per-query (#467)
|
|
+
|
|
+ On Apple platforms, libresolv reports the total timeout in retrans, not the per-query time. This patch undoes that math to get the per-query time, which is what c-ares expects. This is not perfect because libresolv is inconsistent on whether the timeout is multiplied by retry or retry+1, but I don't see any way to distinguish these cases.
|
|
+
|
|
+ Fix By: Marc Aldorasi (@marc-groundctl)
|
|
+
|
|
+- [marc-groundctl brought this change]
|
|
+
|
|
+ Don't include version info in the static library (#468)
|
|
+
|
|
+ The static library should not contain version info, since it would be linked into an executable or dll with its own version info.
|
|
+
|
|
+ Fix By: @marc-groundctl
|
|
+
|
|
+- [Ridge Kennedy brought this change]
|
|
+
|
|
+ Fix ares_getaddrinfo() numerical address fast path with AF_UNSPEC (#469)
|
|
+
|
|
+ The conversion of numeric IPv4 addresses in fake_addrinfo() is broken when
|
|
+ the family is AF_UNSPEC. The initial call to ares_inet_pton with AF_INET
|
|
+ will succeed, but the subsequent call using AF_INET6 will fail. This results
|
|
+ in the fake_addrinfo() fast path failing, and ares_getaddrinfo() making a
|
|
+ query when none should be required.
|
|
+
|
|
+ Resolve this by only attempting the call to ares_inet_pton with AF_INET6
|
|
+ if the initial call with AF_INET was unsuccessful.
|
|
+
|
|
+ Fix By: Ridge Kennedy (@ridgek)
|
|
+
|
|
+- [Manish Mehra brought this change]
|
|
+
|
|
+ Configurable hosts path for file_lookup (#465)
|
|
+
|
|
+ This changeset adds support for configurable hosts file
|
|
+ ARES_OPT_HOSTS_FILE (similar to ARES_OPT_RESOLVCONF).
|
|
+
|
|
+ Co-authored-by: Manish Mehra (@mmehra)
|
|
+
|
|
+bradh352 (27 Apr 2022)
|
|
+- CMake: Windows DLLs lack version information
|
|
+
|
|
+ The cares.rc was not included in the build for CMake. Conditionally
|
|
+ add it when building for Windows.
|
|
+
|
|
+ Fix By: Brad House (@bradh352)
|
|
+ Fixes Bug: #460
|
|
+
|
|
+GitHub (27 Apr 2022)
|
|
+- [Kai Pastor brought this change]
|
|
+
|
|
+ CMake: Guard target creation in exported config (#464)
|
|
+
|
|
+ User projects may call 'find_package(c-ares)' multiple times (e.g.
|
|
+ via dependencies), but targets must be created only once.
|
|
+ Shared and static target must be treated independently.
|
|
+
|
|
+ Fix By: Kai Pastor (@dg0yt)
|
|
+
|
|
+bradh352 (27 Apr 2022)
|
|
+- Honor valid DNS result even if other class returned an error
|
|
+
|
|
+ When using ares_getaddrinfo() with PF_UNSPEC, if a DNS server returned
|
|
+ good data on an A record, followed by bad data on an AAAA record, the
|
|
+ good record would be thrown away and an error returned.
|
|
+
|
|
+ If we got a good response from one of the two queries, regardless of
|
|
+ the order returned, we should honor that.
|
|
+
|
|
+ Fix By: Dmitry Karpov (dkarpov@roku.com)
|
|
+ Signed Off By: Brad House (@bradh352)
|
|
+
|
|
+GitHub (2 Apr 2022)
|
|
+- [Sam James brought this change]
|
|
+
|
|
+ configure.ac: fix STDC_HEADERS typo (#459)
|
|
+
|
|
+ There is no autoconf macro called STDC_HEADERS. AC_HEADER_STDC however does
|
|
+ exist and it defines the STDC_HEADERS macro for use.
|
|
+
|
|
+ Not clear that STDC_HEADERS from its use in the repo is needed but
|
|
+ would rather not meddle with it for now.
|
|
+
|
|
+ Fixes an annoying warning on `./configure`:
|
|
+ ```
|
|
+ /var/tmp/portage/net-dns/c-ares-1.18.1/work/c-ares-1.18.1/configure: 24546: STDC_HEADERS: not found
|
|
+ ```
|
|
+
|
|
+ Signed-off-by: Sam James <sam@gentoo.org>
|
|
+
|
|
+bradh352 (2 Mar 2022)
|
|
+- Asterisks should be allowed in host validation as CNAMEs may reference wildcard domains
|
|
+
|
|
+ CloudFlare appears to use this logic in CNAMEs as per
|
|
+ https://github.com/nodejs/node/issues/42171
|
|
+
|
|
+ Fixes: #457
|
|
+ Fix By: Brad House (@bradh352)
|
|
+
|
|
+- Don't return on file lookup failure, set status
|
|
+
|
|
+ When resolving a host via /etc/hosts, don't return with a predefined
|
|
+ error as there may be other tries.
|
|
+
|
|
+ Fix By: Brad House (@bradh352)
|
|
+
|
|
+- 'localhost' special treatment enhancement
|
|
+
|
|
+ Since localhost is special-cased, any errors should be ignored when
|
|
+ reading /etc/hosts as otherwise we could return an error if there
|
|
+ were for instance an invalidly formatted /etc/hosts or if /etc/hosts
|
|
+ had a permissions error while reading.
|
|
+
|
|
+ This exact behavior appears to have been seen on OS/400 PASE
|
|
+ environments which allows AIX binares to run.
|
|
+
|
|
+ Fix By: Brad House (@bradh352)
|
|
+
|
|
+- If chain building c-ares as part of another project, detect of res_servicename could fail (#451)
|
|
+
|
|
+ If libresolv is already included with the build, c-ares wouldn't properly detect its use.
|
|
+
|
|
+ May fix: #451
|
|
+ Fix by: Brad House (@bradh352)
|
|
+
|
|
+- no analyze capability on ios
|
|
+
|
|
+- attempt to use scan-build on ios
|
|
+
|
|
+- disable tests on ios
|
|
+
|
|
+- fix switch statement
|
|
+
|
|
+- code coverage had gotten disabled
|
|
+
|
|
+- looks like shell expansion doesn't work with cirrus-ci, lets do it another way
|
|
+
|
|
+- attempt to autobuild for iOS
|
|
+
|
|
+GitHub (8 Dec 2021)
|
|
+- [Brad House brought this change]
|
|
+
|
|
+ Windows: rework/simplify initialization code, drop long EOL systems (#445)
|
|
+
|
|
+ There was a lot of windows initialization code specific to the era that predates Windows Vista such as reading DNS configuration from the registry, and dynamically loading libraries to get access to functions that didn't exist in XP or earlier releases.
|
|
+
|
|
+ Vista was released in January 2007, and was EOL'd in 2017, and support for Vista is still maintained with this patch set.
|
|
+
|
|
+ XP was EOL'd in Apr 8 2014.
|
|
+
|
|
+ I believe the last OS based on something earlier than Vista was POSReady 2009, as it was XP based for some reason, and that was EOL'd in January 2019. Considering any POS system falls under the PCI-DSS rules, they aren't allow to run POSReady 2009 any more so there is no reason to try to continue supporting such systems.
|
|
+
|
|
+ We have also targeted with our build system Vista support for the last few years, and while developers could change the target, we haven't had any reports that they have.
|
|
+
|
|
+bradh352 (9 Nov 2021)
|
|
+- Fix memory leak in reading /etc/hosts
|
|
+
|
|
+ When an /etc/hosts lookup is performed, but fails with ENOTFOUND, and
|
|
+ a valid RFC6761 Section 6.3 fallback is performed, it could overwrite
|
|
+ variables that were already set and therefore leave the pointers
|
|
+ dangling, never to be cleaned up.
|
|
+
|
|
+ Clean up explicitly on ENOTFOUND when returning from the file parser.
|
|
+
|
|
+ Fixes: #439
|
|
+ Fix By: Brad House (@bradh352)
|
|
+
|
|
+GitHub (2 Nov 2021)
|
|
+- [Bobby Reynolds brought this change]
|
|
+
|
|
+ Fix cross-compilation from Windows to Linux due to CPACK logic (#436)
|
|
+
|
|
+ When determining value for CPACK_PACKAGE_ARCHITECTURE, prefer to use
|
|
+ value from CMAKE_SYSTEM_PROCESSOR before falling back to uname output.
|
|
+
|
|
+ Additionally, if building from a Windows host, emit a fatal error
|
|
+ instead of attempting to call uname.
|
|
+
|
|
+ Fix By: Bobby Reynolds (@reynoldsbd)
|
|
+
|
|
+bradh352 (1 Nov 2021)
|
|
+- fix coveralls link
|
|
+
|
|
+- coveralls needs token
|
|
+
|
|
+- coveralls appears to require git
|
|
+
|
|
+- fix a couple of coveralls vars
|
|
+
|
|
+- more coveralls fixes
|
|
+
|
|
+- add code coverage libs to LDADD instead of _LIBS
|
|
+
|
|
+- make verbose
|
|
+
|
|
+- try to fix code coverage building
|
|
+
|
|
+- need -y for install
|
|
+
|
|
+- try to fix asan/ubsan/lsan when built with clang. try to support code coverage properly.
|
|
+
|
|
+- try another path
|
|
+
|
|
+- fix pip
|
|
+
|
|
+- attempt to enable some other build types that travis supported
|
|
+
|
|
Version 1.18.1 (26 Oct 2021)
|
|
|
|
bradh352 (26 Oct 2021)
|
|
@@ -4882,240 +5552,3 @@ Daniel Stenberg (23 Mar 2010)
|
|
- git now, not CVS
|
|
|
|
- ignore lots of generated files
|
|
-
|
|
-- [Daniel Johnson brought this change]
|
|
-
|
|
- Fix warnings for clang
|
|
-
|
|
-Yang Tse (17 Mar 2010)
|
|
-- replaced intel compiler option -no-ansi-alias with -fno-strict-aliasing
|
|
-
|
|
-- update outdated serial number
|
|
-
|
|
-- fix compiler warning
|
|
-
|
|
-- watt32 compilation fix
|
|
-
|
|
-- Added another VS10 version string
|
|
-
|
|
-- fix line break
|
|
-
|
|
-- removed usage of 's6_addr', fixing compilation issue triggered with no
|
|
- longer using 'in6_addr' but only our 'ares_in6_addr' struct
|
|
-
|
|
-Daniel Stenberg (5 Mar 2010)
|
|
-- Daniel Johnson provided fixes for building with the clang compiler
|
|
-
|
|
-Yang Tse (5 Mar 2010)
|
|
-- Added IPv6 name servers support
|
|
-
|
|
-Gisle Vanem (5 Mar 2010)
|
|
-- Ops!. Readded ares_nowarn.h.
|
|
-
|
|
-- Added ares_nowarn.c.
|
|
-
|
|
-Yang Tse (28 Feb 2010)
|
|
-- Added SIZEOF_INT and SIZEOF_SHORT definitions for non-configure systems
|
|
-
|
|
-- Added ares_nowarn.* to VC6 project file
|
|
-
|
|
-- Added SIZEOF_INT definition
|
|
-
|
|
-- fix compiler warning
|
|
-
|
|
-- fix compiler warning
|
|
-
|
|
-- fix compiler warning
|
|
-
|
|
-Daniel Stenberg (17 Feb 2010)
|
|
-- ares_reinit()
|
|
-
|
|
- - To allow an app to force a re-read of /etc/resolv.conf etc, pretty much
|
|
- like the res_init() resolver function offers
|
|
-
|
|
-- - Tommie Gannert pointed out a silly bug in ares_process_fd() since it didn't
|
|
- check for broken connections like ares_process() did. Based on that, I
|
|
- merged the two functions into a single generic one with two front-ends.
|
|
-
|
|
-Yang Tse (30 Dec 2009)
|
|
-- VMS specific preprocessor symbol checking adjustments
|
|
-
|
|
-- Mention last changes
|
|
-
|
|
-- - Fix configure_socket() to use ares_socket_t instead of int data type.
|
|
-
|
|
-- - Where run-time error checks enabling compiler option /GZ was used it is now
|
|
- replaced with equivalent /RTCsu for Visual Studio 2003 and newer versions.
|
|
-
|
|
- - Compiler option /GX is now replaced with equivalent /EHsc for all versions.
|
|
-
|
|
-- - Ingmar Runge noticed that Windows config-win32.h configuration file
|
|
- did not include a definition for HAVE_CLOSESOCKET which resulted in
|
|
- function close() being inappropriately used to close sockets.
|
|
-
|
|
-Daniel Stenberg (30 Nov 2009)
|
|
-- start working on 1.7.1
|
|
-
|
|
-Version 1.7.0 (27 Nov 2009)
|
|
-
|
|
-Yang Tse (27 Nov 2009)
|
|
-- Preserve empty line following last target
|
|
-
|
|
-- - Larry Lansing fixed ares_parse_srv_reply to properly parse replies
|
|
- which might contain non-SRV answers, skipping over potential non-SRV
|
|
- ones such as CNAMEs.
|
|
-
|
|
-- When using icc, compile with -fpic and link with intel dynamic libraries.
|
|
-
|
|
-- Added 'currently' in italics to insist on transient situation.
|
|
-
|
|
-- Fix language
|
|
-
|
|
-- Daniel wants upcoming release to be 1.7.0
|
|
-
|
|
-- Mention last changes
|
|
-
|
|
-- - Removed from external interface preprocessor symbol definition for
|
|
- CARES_HAVE_ARES_FREE_DATA. Current functionality of ares_free_data()
|
|
- makes it unnecessary.
|
|
-
|
|
-- Added README.msvc
|
|
-
|
|
-- Changed c-ares naming conventions when using MSVC as described in README.msvc
|
|
-
|
|
-- - Mention other recent changes
|
|
-
|
|
-- - Jakub Hrozek renamed addrttl and addr6ttl structs to ares_addrttl and
|
|
- ares_addr6ttl in order to prevent name space pollution, along with
|
|
- necessary changes to code base and man pages.This change does not break
|
|
- ABI, there is no need to recompile existing applications. But existing
|
|
- applications using these structs with the old name will need source code
|
|
- adjustments when recompiled using c-ares 1.6.1.
|
|
-
|
|
-- - Jakub Hrozek fixed more function prototypes in man pages to sync them
|
|
- with the ones declared in ares.h
|
|
-
|
|
-- Make configure remove the ares_build.h file included in distribution tarballs.
|
|
-
|
|
-- Fix macro redefinition.
|
|
-
|
|
-- Fix name space pollution.
|
|
-
|
|
-- Allow using different extra import libraries for debug and release builds.
|
|
-
|
|
-- Add manifest stuff to msvc makefile
|
|
-
|
|
-- Sync man page with reality
|
|
-
|
|
-- Add missing external API decoration for ares_set_socket_callback()
|
|
-
|
|
-- Add ares_free_data() man page.
|
|
-
|
|
-- - Provide in external interface preprocessor symbol definitions for
|
|
- CARES_HAVE_ARES_FREE_DATA as an indication of function availability.
|
|
-
|
|
-- Remove typecast
|
|
-
|
|
-- Fix comment
|
|
-
|
|
-- Add ares_data.c and ares_data.h
|
|
-
|
|
-- Jakub Hrozek modified ares_parse_srv_reply() and ares_parse_txt_reply() API
|
|
- to return a linked lists of results. These were also modified to internally
|
|
- use the ares_data memory struct and as such its result must be free'ed with
|
|
- ares_free_data().
|
|
-
|
|
-- Initial support for the generic ares_free_data() function that will allow
|
|
- applications to free memory allocated and returned by some c-ares funtions.
|
|
-
|
|
-- Make usage of calloc()'s arguments consistent with rest of code base
|
|
-
|
|
-- workaround icc 9.1 optimizer issue
|
|
-
|
|
-- Add icc fvisibility bug test
|
|
-
|
|
-- Fix icc 9.0 compiler warning: external definition with no prior declaration
|
|
-
|
|
-- Fix three var names
|
|
-
|
|
-- Add check for assert.h header file
|
|
-
|
|
-- getaddrinfo is fully thread safe on solaris versions which
|
|
- implement the function even when h_errno is not a macro.
|
|
-
|
|
- The h_errno macro test now only done on systems for which there
|
|
- is no hard coded knowledge about getaddrinfo's thread safeness.
|
|
-
|
|
-- Remove files generated on previous buildconf/configure run
|
|
-
|
|
-- Remove enable-thread / disable-thread configure option. These were only placebo
|
|
- options. The library is always built as thread safe as possible on every system.
|
|
-
|
|
-- Refactor how preprocessor symbol _THREAD_SAFE definition is done.
|
|
-
|
|
-- Assume that getaddrinfo is thread safe, unless hard coded
|
|
- knowledge says the contrary or h_errno is not defined.
|
|
-
|
|
-- Related with the threadsafe capability of getaddrinfo:
|
|
-
|
|
- - Constantine Sapuntzakis reported that Darwin 6.0 a.k.a. MAC OS X 10.2
|
|
- and newer have a threadsafe getaddrinfo.
|
|
-
|
|
- - Fix Dragonfly BSD triplet detection.
|
|
-
|
|
- - In case the hard-coded knowledge says that getaddrinfo is threadsafe,
|
|
- an additional check is done to verify that h_errno is also defined.
|
|
- If h_errno isn't defined, we finally assume that it isn't threadsafe.
|
|
- Jamie Lokier provided the inspiration for this extra check.
|
|
-
|
|
-- AIX 5.2 and newer have threadsafe getaddrinfo.
|
|
-
|
|
- Add some comments to better understand what the regex's pretend to achieve.
|
|
-
|
|
-- HP-UX 11.11 and later have threadsafe getaddrinfo
|
|
-
|
|
-- Check if getaddrinfo is threadsafe when function check allows it to be used
|
|
-
|
|
-- Renamed fpGetNetworkParams and fpSystemFunction036 to avoid namespace pollution with static library
|
|
-
|
|
-- Add kernel32.lib
|
|
-
|
|
-- Mention last changes
|
|
-
|
|
-- Reinstate copyright symbol lost in previous commit
|
|
-
|
|
-- Make some strings different in resource file for debug or release builds
|
|
-
|
|
-- Ignore more subdirs
|
|
-
|
|
-- Fix compiler warning: conditional expression is constant
|
|
-
|
|
-- Sync linker and resource compiler options with Makefile.msvc
|
|
-
|
|
-- Follow Makefile.msvc subdirectory naming scheme, and sync compiler options
|
|
-
|
|
-- Updated MSVC makefile that allows building dynamic and static
|
|
- c-ares libraries in debug and release flavours.
|
|
-
|
|
- Additionally each of the three sample programs is built against
|
|
- each of the four possible c-ares libraries, generating all this
|
|
- a total number of 12 executables and 4 libraries.
|
|
-
|
|
-- Test for USE_WINSOCK since it is more restrictive than WIN32
|
|
-
|
|
-- Make header inclusion depend on HAVE_*_H definition
|
|
-
|
|
-- Remove unneeded preprocessor directives
|
|
-
|
|
-- Adjust c-ares include paths for memory tracking enabled (--enable-curldebug) builds
|
|
-
|
|
-- source files used by sample programs
|
|
-
|
|
-- Renamed c-ares setup.h to ares_setup.h
|
|
-
|
|
-- Adjust include paths to take in account that currently:
|
|
-
|
|
- c-ares with --enable-curldebug uses memdebug.h from libcurl's lib subdirectory.
|
|
-
|
|
- memdebug.h needs access to libcurl's setup.h from libcurl's lib subdirectory
|
|
- and also needs access to libcurl's generated curl_config.h
|
|
diff --git a/deps/cares/CMakeLists.txt b/deps/cares/CMakeLists.txt
|
|
index cc4b590..9379014 100644
|
|
--- a/deps/cares/CMakeLists.txt
|
|
+++ b/deps/cares/CMakeLists.txt
|
|
@@ -8,10 +8,10 @@ INCLUDE (CheckCSourceCompiles)
|
|
INCLUDE (CheckStructHasMember)
|
|
INCLUDE (CheckLibraryExists)
|
|
|
|
-PROJECT (c-ares LANGUAGES C VERSION "1.18.0" )
|
|
+PROJECT (c-ares LANGUAGES C VERSION "1.19.1" )
|
|
|
|
# Set this version before release
|
|
-SET (CARES_VERSION "1.18.1")
|
|
+SET (CARES_VERSION "1.19.1")
|
|
|
|
INCLUDE (GNUInstallDirs) # include this *AFTER* PROJECT(), otherwise paths are wrong.
|
|
|
|
@@ -26,7 +26,7 @@ INCLUDE (GNUInstallDirs) # include this *AFTER* PROJECT(), otherwise paths are w
|
|
# For example, a version of 4:0:2 would generate output such as:
|
|
# libname.so -> libname.so.2
|
|
# libname.so.2 -> libname.so.2.2.0
|
|
-SET (CARES_LIB_VERSIONINFO "7:1:5")
|
|
+SET (CARES_LIB_VERSIONINFO "8:1:6")
|
|
|
|
|
|
OPTION (CARES_STATIC "Build as a static library" OFF)
|
|
@@ -36,6 +36,8 @@ OPTION (CARES_STATIC_PIC "Build the static library as PIC (position independent)
|
|
OPTION (CARES_BUILD_TESTS "Build and run tests" OFF)
|
|
OPTION (CARES_BUILD_CONTAINER_TESTS "Build and run container tests (implies CARES_BUILD_TESTS, Linux only)" OFF)
|
|
OPTION (CARES_BUILD_TOOLS "Build tools" ON)
|
|
+SET (CARES_RANDOM_FILE "/dev/urandom" CACHE STRING "Suitable File / Device Path for entropy, such as /dev/urandom")
|
|
+
|
|
|
|
# Tests require static to be enabled on Windows to be able to access otherwise hidden symbols
|
|
IF (CARES_BUILD_TESTS AND (NOT CARES_STATIC) AND WIN32)
|
|
@@ -82,9 +84,14 @@ SET (TARGETS_INST_DEST
|
|
|
|
# Function in Library
|
|
# CHECK_LIBRARY_EXISTS can't be used as it will return true if the function
|
|
-# is found in a different dependent library.
|
|
+# is found in a different required/dependent library.
|
|
MACRO (CARES_FUNCTION_IN_LIBRARY func lib var)
|
|
+
|
|
+ SET (_ORIG_CMAKE_REQUIRED_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES}")
|
|
+ SET (CMAKE_REQUIRED_LIBRARIES )
|
|
CHECK_FUNCTION_EXISTS ("${func}" "_CARES_FUNC_IN_LIB_GLOBAL_${func}")
|
|
+ SET (CMAKE_REQUIRED_LIBRARIES "${_ORIG_CMAKE_REQUIRED_LIBRARIES}")
|
|
+
|
|
IF ("${_CARES_FUNC_IN_LIB_GLOBAL_${func}}")
|
|
SET (${var} FALSE)
|
|
ELSE ()
|
|
@@ -386,6 +393,8 @@ CHECK_SYMBOL_EXISTS (strncasecmp "${CMAKE_EXTRA_INCLUDE_FILES}" HAVE_STRNCAS
|
|
CHECK_SYMBOL_EXISTS (strncmpi "${CMAKE_EXTRA_INCLUDE_FILES}" HAVE_STRNCMPI)
|
|
CHECK_SYMBOL_EXISTS (strnicmp "${CMAKE_EXTRA_INCLUDE_FILES}" HAVE_STRNICMP)
|
|
CHECK_SYMBOL_EXISTS (writev "${CMAKE_EXTRA_INCLUDE_FILES}" HAVE_WRITEV)
|
|
+CHECK_SYMBOL_EXISTS (arc4random_buf "${CMAKE_EXTRA_INCLUDE_FILES}" HAVE_ARC4RANDOM_BUF)
|
|
+
|
|
|
|
# On Android, the system headers may define __system_property_get(), but excluded
|
|
# from libc. We need to perform a link test instead of a header/symbol test.
|
|
@@ -397,10 +406,6 @@ SET (CMAKE_REQUIRED_DEFINITIONS)
|
|
SET (CMAKE_REQUIRED_LIBRARIES)
|
|
|
|
|
|
-find_file(CARES_RANDOM_FILE urandom /dev)
|
|
-mark_as_advanced(CARES_RANDOM_FILE)
|
|
-
|
|
-
|
|
################################################################################
|
|
# recv, recvfrom, send, getnameinfo, gethostname
|
|
# ARGUMENTS AND RETURN VALUES
|
|
@@ -689,6 +694,12 @@ IF (CARES_INSTALL)
|
|
if( ${CMAKE_SYSTEM_NAME} STREQUAL "Linux" )
|
|
|
|
if ( "${CPACK_PACKAGE_ARCHITECTURE}" STREQUAL "" )
|
|
+ set( CPACK_PACKAGE_ARCHITECTURE "${CMAKE_SYSTEM_PROCESSOR}" )
|
|
+ endif()
|
|
+ if ( "${CPACK_PACKAGE_ARCHITECTURE}" STREQUAL "" )
|
|
+ if ( "${CMAKE_HOST_SYSTEM_NAME}" STREQUAL "Windows" )
|
|
+ message( FATAL_ERROR "Failed to determine CPACK_PACKAGE_ARCHITECTURE. Is CMAKE_SYSTEM_PROCESSOR set?" )
|
|
+ endif()
|
|
# Note: the architecture should default to the local architecture, but it
|
|
# in fact comes up empty. We call `uname -m` to ask the kernel instead.
|
|
EXECUTE_PROCESS( COMMAND uname -m COMMAND tr -d '\n' OUTPUT_VARIABLE CPACK_PACKAGE_ARCHITECTURE )
|
|
diff --git a/deps/cares/INSTALL.md b/deps/cares/INSTALL.md
|
|
index 1e33ad7..0f9d95a 100644
|
|
--- a/deps/cares/INSTALL.md
|
|
+++ b/deps/cares/INSTALL.md
|
|
@@ -382,6 +382,20 @@ sure that the var `OSTYPE` contains the string 'linux'; set the var
|
|
`NDKBASE` to point to the base of your Novell NDK; and then type
|
|
`make -f Makefile.netware` from the top source directory;
|
|
|
|
+VCPKG
|
|
+=====
|
|
+
|
|
+You can build and install c-ares using [vcpkg](https://github.com/Microsoft/vcpkg/) dependency manager:
|
|
+
|
|
+```sh or powershell
|
|
+ git clone https://github.com/Microsoft/vcpkg.git
|
|
+ cd vcpkg
|
|
+ ./bootstrap-vcpkg.sh
|
|
+ ./vcpkg integrate install
|
|
+ ./vcpkg install c-ares
|
|
+```
|
|
+
|
|
+The c-ares port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please [create an issue or pull request](https://github.com/Microsoft/vcpkg) on the vcpkg repository.
|
|
|
|
PORTS
|
|
=====
|
|
diff --git a/deps/cares/Makefile.Watcom b/deps/cares/Makefile.Watcom
|
|
index fa529a5..34e07bb 100644
|
|
--- a/deps/cares/Makefile.Watcom
|
|
+++ b/deps/cares/Makefile.Watcom
|
|
@@ -1,6 +1,7 @@
|
|
#
|
|
# Watcom / OpenWatcom / Win32 makefile for cares.
|
|
# Quick hack by Guenter; comments to: /dev/nul
|
|
+# Updated by Douglas R. Reno, comments to: renodr2002@gmail.com. 2023
|
|
#
|
|
|
|
!ifndef %watcom
|
|
@@ -38,9 +39,9 @@ MD = mkdir
|
|
RD = rmdir /q /s 2>NUL
|
|
CP = copy
|
|
|
|
-CFLAGS = -3r -mf -hc -zff -zgf -zq -zm -zc -s -fr=con -w2 -fpi -oilrtfm &
|
|
- -wcd=201 -bt=nt -d+ -dWIN32 -dCARES_BUILDING_LIBRARY &
|
|
- -dNTDDI_VERSION=0x05010000 -I. $(SYS_INCL)
|
|
+CFLAGS = -3r -mf -hc -zff -zgf -zq -zm -zc -s -fr=con -w2 -fpi -oilrtfm -aa &
|
|
+ -wcd=201 -bt=nt -d+ -dWIN32 -dCARES_BUILDING_LIBRARY &
|
|
+ -dNTDDI_VERSION=0x06000000 -I. -I.\include -I.\src\lib $(SYS_INCL)
|
|
|
|
LFLAGS = option quiet, map, caseexact, eliminate
|
|
|
|
@@ -69,7 +70,7 @@ LIB_ARG = $(OBJ_BASE)\stat\wlib.arg
|
|
!ifneq __MAKEOPTS__ -u
|
|
!error You MUST call wmake with the -u switch!
|
|
!else
|
|
-!include Makefile.inc
|
|
+!include src\lib\Makefile.inc
|
|
!endif
|
|
|
|
OBJS = $(CSOURCES:.c=.obj)
|
|
@@ -82,10 +83,11 @@ OBJ_DIR = $(OBJ_BASE)\stat
|
|
OBJS_STAT = $+ $(OBJS) $-
|
|
|
|
OBJ_DIR = $(OBJ_BASE)\dyn
|
|
-OBJS_DYN = $+ $(OBJS) $-
|
|
+OBJS_DYN += $(OBJS) $-
|
|
|
|
ARESBUILDH = ares_build.h
|
|
RESOURCE = $(OBJ_BASE)\dyn\cares.res
|
|
+ARESBUILDH = include\ares_build.h
|
|
|
|
all: $(ARESBUILDH) $(OBJ_BASE) $(TARGETS) $(DEMOS) .SYMBOLIC
|
|
@echo Welcome to cares
|
|
@@ -94,10 +96,10 @@ $(OBJ_BASE):
|
|
-$(MD) $^@
|
|
-$(MD) $^@\stat
|
|
-$(MD) $^@\dyn
|
|
- -$(MD) $^@\demos
|
|
+ -$(MD) $^@\tools
|
|
|
|
$(ARESBUILDH): .EXISTSONLY
|
|
- $(CP) $^@.dist $^@
|
|
+ @echo Make sure to run buildconf.bat!
|
|
|
|
$(LIBNAME).dll: $(OBJS_DYN) $(RESOURCE) $(LINK_ARG)
|
|
$(LD) name $^@ @$]@
|
|
@@ -105,14 +107,20 @@ $(LIBNAME).dll: $(OBJS_DYN) $(RESOURCE) $(LINK_ARG)
|
|
$(LIBNAME).lib: $(OBJS_STAT) $(LIB_ARG)
|
|
$(AR) -q -b -c $^@ @$]@
|
|
|
|
-adig.exe: $(OBJ_BASE)\demos\adig.obj $(OBJ_BASE)\demos\ares_getopt.obj $(LIBNAME).lib
|
|
- $(LD) name $^@ system nt $(LFLAGS) file { $(OBJ_BASE)\demos\ares_getopt.obj $[@ } library $]@, ws2_32.lib
|
|
+$(OBJ_BASE)\tools\ares_getopt.obj:
|
|
+ $(CC) $(CFLAGS) -DCARES_STATICLIB .\src\tools\ares_getopt.c -fo=$^@
|
|
|
|
-ahost.exe: $(OBJ_BASE)\demos\ahost.obj $(OBJ_BASE)\demos\ares_getopt.obj $(LIBNAME).lib
|
|
- $(LD) name $^@ system nt $(LFLAGS) file { $(OBJ_BASE)\demos\ares_getopt.obj $[@ } library $]@, ws2_32.lib
|
|
+adig.exe: $(OBJ_BASE)\tools\ares_getopt.obj $(LIBNAME).lib
|
|
+ $(CC) $(CFLAGS) src\tools\adig.c -fo=$(OBJ_BASE)\tools\adig.obj
|
|
+ $(LD) name $^@ system nt $(LFLAGS) file { $(OBJ_BASE)\tools\adig.obj $[@ } library $]@, ws2_32.lib, iphlpapi.lib
|
|
|
|
-acountry.exe: $(OBJ_BASE)\demos\acountry.obj $(OBJ_BASE)\demos\ares_getopt.obj $(LIBNAME).lib
|
|
- $(LD) name $^@ system nt $(LFLAGS) file { $(OBJ_BASE)\demos\ares_getopt.obj $[@ } library $]@, ws2_32.lib
|
|
+ahost.exe: $(OBJ_BASE)\tools\ares_getopt.obj $(LIBNAME).lib
|
|
+ $(CC) $(CFLAGS) src\tools\ahost.c -fo=$(OBJ_BASE)\tools\ahost.obj
|
|
+ $(LD) name $^@ system nt $(LFLAGS) file { $(OBJ_BASE)\tools\ahost.obj $[@ } library $]@, ws2_32.lib, iphlpapi.lib
|
|
+
|
|
+acountry.exe: $(OBJ_BASE)\tools\ares_getopt.obj $(LIBNAME).lib
|
|
+ $(CC) $(CFLAGS) src\tools\acountry.c -fo=$(OBJ_BASE)\tools\acountry.obj
|
|
+ $(LD) name $^@ system nt $(LFLAGS) file { $(OBJ_BASE)\tools\acountry.obj $[@ } library $]@, ws2_32.lib, iphlpapi.lib
|
|
|
|
clean: .SYMBOLIC
|
|
-$(RM) $(OBJS_STAT)
|
|
@@ -124,24 +132,23 @@ vclean realclean: clean .SYMBOLIC
|
|
-$(RM) $(DEMOS) $(DEMOS:.exe=.map)
|
|
-$(RD) $(OBJ_BASE)\stat
|
|
-$(RD) $(OBJ_BASE)\dyn
|
|
- -$(RD) $(OBJ_BASE)\demos
|
|
+ -$(RD) $(OBJ_BASE)\tools
|
|
-$(RD) $(OBJ_BASE)
|
|
|
|
.ERASE
|
|
-$(RESOURCE): cares.rc .AUTODEPEND
|
|
+.c: .\src\lib
|
|
+
|
|
+.ERASE
|
|
+$(RESOURCE): src\lib\cares.rc .AUTODEPEND
|
|
$(RC) $(DEBUG) -q -r -zm -I..\include $(SYS_INCL) $[@ -fo=$^@
|
|
|
|
.ERASE
|
|
.c{$(OBJ_BASE)\dyn}.obj:
|
|
- $(CC) $(CFLAGS) -bd $[@ -fo=$^@
|
|
+ $(CC) $(CFLAGS) -bd .\src\lib\$^& -fo=$^@
|
|
|
|
.ERASE
|
|
.c{$(OBJ_BASE)\stat}.obj:
|
|
- $(CC) $(CFLAGS) -DCARES_STATICLIB $[@ -fo=$^@
|
|
-
|
|
-.ERASE
|
|
-.c{$(OBJ_BASE)\demos}.obj:
|
|
- $(CC) $(CFLAGS) -DCARES_STATICLIB $[@ -fo=$^@
|
|
+ $(CC) $(CFLAGS) -DCARES_STATICLIB .\src\lib\$^& -fo=$^@
|
|
|
|
$(LINK_ARG): $(__MAKEFILES__)
|
|
%create $^@
|
|
@@ -155,6 +162,7 @@ $(LINK_ARG): $(__MAKEFILES__)
|
|
@%append $^@ library $(%watt_root)\lib\wattcpw_imp.lib
|
|
!else
|
|
@%append $^@ library ws2_32.lib
|
|
+ @%append $^@ library iphlpapi.lib
|
|
!endif
|
|
|
|
$(LIB_ARG): $(__MAKEFILES__)
|
|
diff --git a/deps/cares/Makefile.in b/deps/cares/Makefile.in
|
|
index 7d7b59e..3dfa479 100644
|
|
--- a/deps/cares/Makefile.in
|
|
+++ b/deps/cares/Makefile.in
|
|
@@ -96,6 +96,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ax_ac_append_to_file.m4 \
|
|
$(top_srcdir)/m4/ax_am_macros_static.m4 \
|
|
$(top_srcdir)/m4/ax_check_gnu_make.m4 \
|
|
$(top_srcdir)/m4/ax_code_coverage.m4 \
|
|
+ $(top_srcdir)/m4/ax_cxx_compile_stdcxx.m4 \
|
|
$(top_srcdir)/m4/ax_cxx_compile_stdcxx_11.m4 \
|
|
$(top_srcdir)/m4/ax_file_escapes.m4 \
|
|
$(top_srcdir)/m4/ax_require_defined.m4 \
|
|
@@ -297,6 +298,7 @@ EGREP = @EGREP@
|
|
ETAGS = @ETAGS@
|
|
EXEEXT = @EXEEXT@
|
|
FGREP = @FGREP@
|
|
+FILECMD = @FILECMD@
|
|
GCOV = @GCOV@
|
|
GENHTML = @GENHTML@
|
|
GREP = @GREP@
|
|
diff --git a/deps/cares/README.md b/deps/cares/README.md
|
|
index 24a96c4..b507a5c 100644
|
|
--- a/deps/cares/README.md
|
|
+++ b/deps/cares/README.md
|
|
@@ -3,7 +3,7 @@ c-ares
|
|
|
|
[](https://cirrus-ci.com/github/c-ares/c-ares)
|
|
[](https://ci.appveyor.com/project/c-ares/c-ares/branch/master)
|
|
-[](https://coveralls.io/github/c-ares/c-ares?branch=master)
|
|
+[](https://coveralls.io/github/c-ares/c-ares)
|
|
[](https://bestpractices.coreinfrastructure.org/projects/291)
|
|
[](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:c-ares)
|
|
[](https://coderelease.io/github/repository/c-ares/c-ares)
|
|
diff --git a/deps/cares/RELEASE-NOTES b/deps/cares/RELEASE-NOTES
|
|
index d095749..2524f3c 100644
|
|
--- a/deps/cares/RELEASE-NOTES
|
|
+++ b/deps/cares/RELEASE-NOTES
|
|
@@ -1,85 +1,57 @@
|
|
-c-ares version 1.18.1
|
|
+c-ares version 1.19.1
|
|
|
|
-This is an urgent bugfix release for a regression made in 1.18.0.
|
|
+This is a security and bugfix release.
|
|
|
|
-Bug fixes:
|
|
- o ares_getaddrinfo() would return ai_addrlen of 16 for ipv6
|
|
- adddresses rather than the sizeof(struct sockaddr_in6)
|
|
-
|
|
-
|
|
-
|
|
-c-ares version 1.18.0
|
|
-
|
|
-This is a feature and bugfix release. It addresses a couple of new feature
|
|
-requests as well as a couple of bug fixes.
|
|
+A special thanks goes out to the Open Source Technology Improvement Fund
|
|
+(https://ostif.org) for sponsoring a security audit of c-ares performed by X41
|
|
+(https://x41-dsec.de).
|
|
|
|
-Changes:
|
|
- o Add support for URI(Uniform Resource Identifier) records via
|
|
- ares_parse_uri_reply() [1]
|
|
- o Provide ares_nameser.h as a public interface as needed by NodeJS [5]
|
|
- o Update URLs from c-ares.haxx.se to c-ares.org [9]
|
|
- o During a domain search, treat ARES_ENODATA as ARES_NXDOMAIN so that the
|
|
- search process will continue to the next domain in the search. [11]
|
|
- o Turn ares_gethostbyname() into a wrapper for ares_getaddrinfo() as they
|
|
- followed very similar code paths and ares_gethostbyaddr() has some more
|
|
- desirable features such as priority sorting and parallel queries for
|
|
- AF_UNSPEC. [12]
|
|
- o ares_getaddrinfo() now contains a name element in the address info
|
|
- structure as the last element. This is not an API or ABI break due to
|
|
- the structure always being internally allocated and it being the last
|
|
- element. [12]
|
|
- o ares_parse_a_reply() and ares_parse_aaaa_reply() were nearly identical, those
|
|
- now use the same helper functions for parsing rather than having their own
|
|
- code. [12]
|
|
- o RFC6761 Section 6.3 says "localhost" lookups need to be special cased to
|
|
- return loopback addresses, and not forward queries to recursive dns servers.
|
|
- On Windows this now returns all loopback addresses, on other systems it
|
|
- returns 127.0.0.1 or ::1 always, and will never forward a request for
|
|
- "localhost" to outside DNS servers. [13]
|
|
- o Haiki: port [14]
|
|
+Security:
|
|
+ o CVE-2023-32067. High. 0-byte UDP payload causes Denial of Service [12]
|
|
+ o CVE-2023-31147. Moderate. Insufficient randomness in generation of DNS
|
|
+ query IDs [13]
|
|
+ o CVE-2023-31130. Moderate. Buffer Underwrite in ares_inet_net_pton() [14]
|
|
+ o CVE-2023-31124. Low. AutoTools does not set CARES_RANDOM_FILE during cross
|
|
+ compilation [15]
|
|
|
|
Bug fixes:
|
|
- o add build to .gitignore [2]
|
|
- o z/OS minor update, add missing semicolon in ares_init.c [3]
|
|
- o Fix building when latest ax_code_coverage.m4 is imported [4]
|
|
- o Work around autotools 'error: too many loops' and other newer autotools
|
|
- import related bugs.
|
|
- o MinGW cross builds need advapi32 link as lower case [6]
|
|
- o Cygwin build fix due to containing both socket.h and winsock2.h [7]
|
|
- o ares_expand_name should allow underscores (_) as SRV records legitimately use
|
|
- them [8]
|
|
- o Allow '/' as a valid character for a returned name for CNAME in-addr.arpa
|
|
- delegation [10]
|
|
- o ares_getaddrinfo() was not honoring HOSTALIASES [12]
|
|
- o ares_getaddrinfo() had some test cases disabled due to a bug in the test
|
|
- framework itself which has now been resolved [12]
|
|
- o Due to Travis-CI becoming unfriendly to open-source, Cirrus-CI has now been
|
|
- brought online for automated unit testing.
|
|
+ o Fix uninitialized memory warning in test [1]
|
|
+ o Turn off IPV6_V6ONLY on Windows to allow IPv4-mapped IPv6 addresses [2]
|
|
+ o ares_getaddrinfo() should allow a port of 0 [3]
|
|
+ o Fix memory leak in ares_send() on error [4]
|
|
+ o Fix comment style in ares_data.h [5]
|
|
+ o Remove unneeded ifdef for Windows [6]
|
|
+ o Fix typo in ares_init_options.3 [7]
|
|
+ o Re-add support for Watcom compiler [8]
|
|
+ o Sync ax_pthread.m4 with upstream [9]
|
|
+ o Windows: Invalid stack variable used out of scope for HOSTS path [10]
|
|
+ o Sync ax_cxx_compile_stdcxx_11.m4 with upstream to fix uclibc support [11]
|
|
|
|
Thanks go to these friendly people for their efforts and contributions:
|
|
- Biswapriyo Nath (@Biswa96)
|
|
Brad House (@bradh352)
|
|
- Daniel Bevenius (@danbev)
|
|
+ @Chilledheart
|
|
Daniel Stenberg (@bagder)
|
|
- Dhrumil Rana (@dhrumilrana)
|
|
- Felix Yan (@felixonmars)
|
|
- Jérôme Duval (@korli)
|
|
- Martin Holeš (@martin-256)
|
|
- Sinan Kaya
|
|
+ Douglas R. Reno (@renodr)
|
|
+ Gregor Jasny (@gjasny)
|
|
+ Jay Freeman (@saurik)
|
|
+ @lifenjoiner
|
|
+ Nikolaos Chatzikonstantinou (@createyourpersonalaccount)
|
|
+ Yijie Ma (@yijiem)
|
|
(9 contributors)
|
|
|
|
References to bug reports and discussions on issues:
|
|
- [1] = https://github.com/c-ares/c-ares/pull/411
|
|
- [2] = https://github.com/c-ares/c-ares/pull/410
|
|
- [3] = https://github.com/c-ares/c-ares/pull/414
|
|
- [4] = https://github.com/c-ares/c-ares/pull/418
|
|
- [5] = https://github.com/c-ares/c-ares/pull/417
|
|
- [6] = https://github.com/c-ares/c-ares/pull/420
|
|
- [7] = https://github.com/c-ares/c-ares/pull/422
|
|
- [8] = https://github.com/c-ares/c-ares/issues/424
|
|
- [9] = https://github.com/c-ares/c-ares/issues/423
|
|
- [10] = https://github.com/c-ares/c-ares/issues/427
|
|
- [11] = https://github.com/c-ares/c-ares/issues/426
|
|
- [12] = https://github.com/c-ares/c-ares/pull/428
|
|
- [13] = https://github.com/c-ares/c-ares/pull/430
|
|
- [14] = https://github.com/c-ares/c-ares/pull/431
|
|
+ [1] = https://github.com/c-ares/c-ares/pull/515
|
|
+ [2] = https://github.com/c-ares/c-ares/pull/520
|
|
+ [3] = https://github.com/c-ares/c-ares/issues/517
|
|
+ [4] = https://github.com/c-ares/c-ares/pull/511
|
|
+ [5] = https://github.com/c-ares/c-ares/pull/513
|
|
+ [6] = https://github.com/c-ares/c-ares/pull/512
|
|
+ [7] = https://github.com/c-ares/c-ares/pull/510
|
|
+ [8] = https://github.com/c-ares/c-ares/pull/509
|
|
+ [9] = https://github.com/c-ares/c-ares/pull/507
|
|
+ [10] = https://github.com/c-ares/c-ares/pull/502
|
|
+ [11] = https://github.com/c-ares/c-ares/pull/505
|
|
+ [12] = https://github.com/c-ares/c-ares/security/advisories/GHSA-9g78-jv2r-p7vc
|
|
+ [13] = https://github.com/c-ares/c-ares/security/advisories/GHSA-8r8p-23f3-64c2
|
|
+ [14] = https://github.com/c-ares/c-ares/security/advisories/GHSA-x6mf-cxr9-8q6v
|
|
+ [15] = https://github.com/c-ares/c-ares/security/advisories/GHSA-54xr-f67r-4pc4
|
|
diff --git a/deps/cares/aclocal.m4 b/deps/cares/aclocal.m4
|
|
index e7ced79..ef2987b 100644
|
|
--- a/deps/cares/aclocal.m4
|
|
+++ b/deps/cares/aclocal.m4
|
|
@@ -1190,6 +1190,7 @@ m4_include([m4/ax_add_am_macro_static.m4])
|
|
m4_include([m4/ax_am_macros_static.m4])
|
|
m4_include([m4/ax_check_gnu_make.m4])
|
|
m4_include([m4/ax_code_coverage.m4])
|
|
+m4_include([m4/ax_cxx_compile_stdcxx.m4])
|
|
m4_include([m4/ax_cxx_compile_stdcxx_11.m4])
|
|
m4_include([m4/ax_file_escapes.m4])
|
|
m4_include([m4/ax_require_defined.m4])
|
|
diff --git a/deps/cares/aminclude_static.am b/deps/cares/aminclude_static.am
|
|
index c90aef6..94db7e3 100644
|
|
--- a/deps/cares/aminclude_static.am
|
|
+++ b/deps/cares/aminclude_static.am
|
|
@@ -1,6 +1,6 @@
|
|
|
|
# aminclude_static.am generated automatically by Autoconf
|
|
-# from AX_AM_MACROS_STATIC on Wed Oct 27 08:06:13 CEST 2021
|
|
+# from AX_AM_MACROS_STATIC on Mon May 22 14:23:05 CEST 2023
|
|
|
|
|
|
# Code coverage
|
|
diff --git a/deps/cares/c-ares-config.cmake.in b/deps/cares/c-ares-config.cmake.in
|
|
index 464837b..1d05b24 100644
|
|
--- a/deps/cares/c-ares-config.cmake.in
|
|
+++ b/deps/cares/c-ares-config.cmake.in
|
|
@@ -8,14 +8,17 @@ include("${CMAKE_CURRENT_LIST_DIR}/c-ares-targets.cmake")
|
|
set(c-ares_LIBRARY c-ares::cares)
|
|
|
|
if(@CARES_SHARED@)
|
|
- add_library(c-ares::cares_shared INTERFACE IMPORTED)
|
|
- set_target_properties(c-ares::cares_shared PROPERTIES INTERFACE_LINK_LIBRARIES "c-ares::cares")
|
|
+ if(NOT TARGET c-ares::cares_shared)
|
|
+ add_library(c-ares::cares_shared INTERFACE IMPORTED)
|
|
+ set_target_properties(c-ares::cares_shared PROPERTIES INTERFACE_LINK_LIBRARIES "c-ares::cares")
|
|
+ endif()
|
|
set(c-ares_SHARED_LIBRARY c-ares::cares_shared)
|
|
-elseif(@CARES_STATIC@)
|
|
- add_library(c-ares::cares_static INTERFACE IMPORTED)
|
|
- set_target_properties(c-ares::cares_static PROPERTIES INTERFACE_LINK_LIBRARIES "c-ares::cares")
|
|
endif()
|
|
|
|
if(@CARES_STATIC@)
|
|
+ if(NOT TARGET c-ares::cares_static)
|
|
+ add_library(c-ares::cares_static INTERFACE IMPORTED)
|
|
+ set_target_properties(c-ares::cares_static PROPERTIES INTERFACE_LINK_LIBRARIES "c-ares::cares")
|
|
+ endif()
|
|
set(c-ares_STATIC_LIBRARY c-ares::cares_static)
|
|
endif()
|
|
diff --git a/deps/cares/cares.gyp b/deps/cares/cares.gyp
|
|
index 74f0e78..e6b8e96 100644
|
|
--- a/deps/cares/cares.gyp
|
|
+++ b/deps/cares/cares.gyp
|
|
@@ -88,6 +88,7 @@
|
|
'src/lib/ares_private.h',
|
|
'src/lib/ares_process.c',
|
|
'src/lib/ares_query.c',
|
|
+ 'src/lib/ares_rand.c',
|
|
'src/lib/ares__read_line.c',
|
|
'src/lib/ares__readaddrinfo.c',
|
|
'src/lib/ares_search.c',
|
|
diff --git a/deps/cares/config.guess b/deps/cares/config.guess
|
|
index f50dcdb..7f76b62 100755
|
|
--- a/deps/cares/config.guess
|
|
+++ b/deps/cares/config.guess
|
|
@@ -1,12 +1,14 @@
|
|
#! /bin/sh
|
|
# Attempt to guess a canonical system name.
|
|
-# Copyright 1992-2018 Free Software Foundation, Inc.
|
|
+# Copyright 1992-2022 Free Software Foundation, Inc.
|
|
|
|
-timestamp='2018-02-24'
|
|
+# shellcheck disable=SC2006,SC2268 # see below for rationale
|
|
+
|
|
+timestamp='2022-01-09'
|
|
|
|
# This file is free software; you can redistribute it and/or modify it
|
|
# under the terms of the GNU General Public License as published by
|
|
-# the Free Software Foundation; either version 3 of the License, or
|
|
+# the Free Software Foundation, either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful, but
|
|
@@ -27,11 +29,19 @@ timestamp='2018-02-24'
|
|
# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
|
|
#
|
|
# You can get the latest version of this script from:
|
|
-# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
|
|
+# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
|
|
#
|
|
# Please send patches to <config-patches@gnu.org>.
|
|
|
|
|
|
+# The "shellcheck disable" line above the timestamp inhibits complaints
|
|
+# about features and limitations of the classic Bourne shell that were
|
|
+# superseded or lifted in POSIX. However, this script identifies a wide
|
|
+# variety of pre-POSIX systems that do not have POSIX shells at all, and
|
|
+# even some reasonably current systems (Solaris 10 as case-in-point) still
|
|
+# have a pre-POSIX /bin/sh.
|
|
+
|
|
+
|
|
me=`echo "$0" | sed -e 's,.*/,,'`
|
|
|
|
usage="\
|
|
@@ -50,7 +60,7 @@ version="\
|
|
GNU config.guess ($timestamp)
|
|
|
|
Originally written by Per Bothner.
|
|
-Copyright 1992-2018 Free Software Foundation, Inc.
|
|
+Copyright 1992-2022 Free Software Foundation, Inc.
|
|
|
|
This is free software; see the source for copying conditions. There is NO
|
|
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
|
@@ -84,7 +94,8 @@ if test $# != 0; then
|
|
exit 1
|
|
fi
|
|
|
|
-trap 'exit 1' 1 2 15
|
|
+# Just in case it came from the environment.
|
|
+GUESS=
|
|
|
|
# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
|
|
# compiler to aid in system detection is discouraged as it requires
|
|
@@ -96,73 +107,90 @@ trap 'exit 1' 1 2 15
|
|
|
|
# Portable tmp directory creation inspired by the Autoconf team.
|
|
|
|
-set_cc_for_build='
|
|
-trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
|
|
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
|
|
-: ${TMPDIR=/tmp} ;
|
|
- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
|
|
- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
|
|
- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
|
|
- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
|
|
-dummy=$tmp/dummy ;
|
|
-tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
|
|
-case $CC_FOR_BUILD,$HOST_CC,$CC in
|
|
- ,,) echo "int x;" > "$dummy.c" ;
|
|
- for c in cc gcc c89 c99 ; do
|
|
- if ($c -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
|
|
- CC_FOR_BUILD="$c"; break ;
|
|
- fi ;
|
|
- done ;
|
|
- if test x"$CC_FOR_BUILD" = x ; then
|
|
- CC_FOR_BUILD=no_compiler_found ;
|
|
- fi
|
|
- ;;
|
|
- ,,*) CC_FOR_BUILD=$CC ;;
|
|
- ,*,*) CC_FOR_BUILD=$HOST_CC ;;
|
|
-esac ; set_cc_for_build= ;'
|
|
+tmp=
|
|
+# shellcheck disable=SC2172
|
|
+trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15
|
|
+
|
|
+set_cc_for_build() {
|
|
+ # prevent multiple calls if $tmp is already set
|
|
+ test "$tmp" && return 0
|
|
+ : "${TMPDIR=/tmp}"
|
|
+ # shellcheck disable=SC2039,SC3028
|
|
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
|
|
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } ||
|
|
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } ||
|
|
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; }
|
|
+ dummy=$tmp/dummy
|
|
+ case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
|
|
+ ,,) echo "int x;" > "$dummy.c"
|
|
+ for driver in cc gcc c89 c99 ; do
|
|
+ if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
|
|
+ CC_FOR_BUILD=$driver
|
|
+ break
|
|
+ fi
|
|
+ done
|
|
+ if test x"$CC_FOR_BUILD" = x ; then
|
|
+ CC_FOR_BUILD=no_compiler_found
|
|
+ fi
|
|
+ ;;
|
|
+ ,,*) CC_FOR_BUILD=$CC ;;
|
|
+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
|
|
+ esac
|
|
+}
|
|
|
|
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
|
|
# (ghazi@noc.rutgers.edu 1994-08-24)
|
|
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
|
|
+if test -f /.attbin/uname ; then
|
|
PATH=$PATH:/.attbin ; export PATH
|
|
fi
|
|
|
|
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
|
|
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
|
|
-UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
|
|
+UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
|
|
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
|
|
|
|
-case "$UNAME_SYSTEM" in
|
|
+case $UNAME_SYSTEM in
|
|
Linux|GNU|GNU/*)
|
|
- # If the system lacks a compiler, then just pick glibc.
|
|
- # We could probably try harder.
|
|
- LIBC=gnu
|
|
+ LIBC=unknown
|
|
|
|
- eval "$set_cc_for_build"
|
|
+ set_cc_for_build
|
|
cat <<-EOF > "$dummy.c"
|
|
#include <features.h>
|
|
#if defined(__UCLIBC__)
|
|
LIBC=uclibc
|
|
#elif defined(__dietlibc__)
|
|
LIBC=dietlibc
|
|
- #else
|
|
+ #elif defined(__GLIBC__)
|
|
LIBC=gnu
|
|
+ #else
|
|
+ #include <stdarg.h>
|
|
+ /* First heuristic to detect musl libc. */
|
|
+ #ifdef __DEFINED_va_list
|
|
+ LIBC=musl
|
|
+ #endif
|
|
#endif
|
|
EOF
|
|
- eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`"
|
|
+ cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
|
|
+ eval "$cc_set_libc"
|
|
|
|
- # If ldd exists, use it to detect musl libc.
|
|
- if command -v ldd >/dev/null && \
|
|
- ldd --version 2>&1 | grep -q ^musl
|
|
- then
|
|
- LIBC=musl
|
|
+ # Second heuristic to detect musl libc.
|
|
+ if [ "$LIBC" = unknown ] &&
|
|
+ command -v ldd >/dev/null &&
|
|
+ ldd --version 2>&1 | grep -q ^musl; then
|
|
+ LIBC=musl
|
|
+ fi
|
|
+
|
|
+ # If the system lacks a compiler, then just pick glibc.
|
|
+ # We could probably try harder.
|
|
+ if [ "$LIBC" = unknown ]; then
|
|
+ LIBC=gnu
|
|
fi
|
|
;;
|
|
esac
|
|
|
|
# Note: order is significant - the case branches are not exclusive.
|
|
|
|
-case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
|
|
+case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
|
|
*:NetBSD:*:*)
|
|
# NetBSD (nbsd) targets should (where applicable) match one or
|
|
# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
|
|
@@ -174,12 +202,12 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
|
|
#
|
|
# Note: NetBSD doesn't particularly care about the vendor
|
|
# portion of the name. We always set it to "unknown".
|
|
- sysctl="sysctl -n hw.machine_arch"
|
|
UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
|
|
- "/sbin/$sysctl" 2>/dev/null || \
|
|
- "/usr/sbin/$sysctl" 2>/dev/null || \
|
|
+ /sbin/sysctl -n hw.machine_arch 2>/dev/null || \
|
|
+ /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \
|
|
echo unknown)`
|
|
- case "$UNAME_MACHINE_ARCH" in
|
|
+ case $UNAME_MACHINE_ARCH in
|
|
+ aarch64eb) machine=aarch64_be-unknown ;;
|
|
armeb) machine=armeb-unknown ;;
|
|
arm*) machine=arm-unknown ;;
|
|
sh3el) machine=shl-unknown ;;
|
|
@@ -188,18 +216,18 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
|
|
earmv*)
|
|
arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
|
|
endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
|
|
- machine="${arch}${endian}"-unknown
|
|
+ machine=${arch}${endian}-unknown
|
|
;;
|
|
- *) machine="$UNAME_MACHINE_ARCH"-unknown ;;
|
|
+ *) machine=$UNAME_MACHINE_ARCH-unknown ;;
|
|
esac
|
|
# The Operating System including object format, if it has switched
|
|
# to ELF recently (or will in the future) and ABI.
|
|
- case "$UNAME_MACHINE_ARCH" in
|
|
+ case $UNAME_MACHINE_ARCH in
|
|
earm*)
|
|
os=netbsdelf
|
|
;;
|
|
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
|
|
- eval "$set_cc_for_build"
|
|
+ set_cc_for_build
|
|
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
|
|
| grep -q __ELF__
|
|
then
|
|
@@ -215,7 +243,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
|
|
;;
|
|
esac
|
|
# Determine ABI tags.
|
|
- case "$UNAME_MACHINE_ARCH" in
|
|
+ case $UNAME_MACHINE_ARCH in
|
|
earm*)
|
|
expr='s/^earmv[0-9]/-eabi/;s/eb$//'
|
|
abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
|
|
@@ -226,7 +254,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
|
|
# thus, need a distinct triplet. However, they do not need
|
|
# kernel version information, so it can be replaced with a
|
|
# suitable tag, in the style of linux-gnu.
|
|
- case "$UNAME_VERSION" in
|
|
+ case $UNAME_VERSION in
|
|
Debian*)
|
|
release='-gnu'
|
|
;;
|
|
@@ -237,45 +265,57 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
|
|
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
|
|
# contains redundant information, the shorter form:
|
|
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
|
|
- echo "$machine-${os}${release}${abi}"
|
|
- exit ;;
|
|
+ GUESS=$machine-${os}${release}${abi-}
|
|
+ ;;
|
|
*:Bitrig:*:*)
|
|
UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
|
|
- echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE
|
|
+ ;;
|
|
*:OpenBSD:*:*)
|
|
UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
|
|
- echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE
|
|
+ ;;
|
|
+ *:SecBSD:*:*)
|
|
+ UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'`
|
|
+ GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE
|
|
+ ;;
|
|
*:LibertyBSD:*:*)
|
|
UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
|
|
- echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE
|
|
+ ;;
|
|
*:MidnightBSD:*:*)
|
|
- echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE
|
|
+ ;;
|
|
*:ekkoBSD:*:*)
|
|
- echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE
|
|
+ ;;
|
|
*:SolidBSD:*:*)
|
|
- echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE
|
|
+ ;;
|
|
+ *:OS108:*:*)
|
|
+ GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE
|
|
+ ;;
|
|
macppc:MirBSD:*:*)
|
|
- echo powerpc-unknown-mirbsd"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE
|
|
+ ;;
|
|
*:MirBSD:*:*)
|
|
- echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE
|
|
+ ;;
|
|
*:Sortix:*:*)
|
|
- echo "$UNAME_MACHINE"-unknown-sortix
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-unknown-sortix
|
|
+ ;;
|
|
+ *:Twizzler:*:*)
|
|
+ GUESS=$UNAME_MACHINE-unknown-twizzler
|
|
+ ;;
|
|
*:Redox:*:*)
|
|
- echo "$UNAME_MACHINE"-unknown-redox
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-unknown-redox
|
|
+ ;;
|
|
mips:OSF1:*.*)
|
|
- echo mips-dec-osf1
|
|
- exit ;;
|
|
+ GUESS=mips-dec-osf1
|
|
+ ;;
|
|
alpha:OSF1:*:*)
|
|
+ # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
|
|
+ trap '' 0
|
|
case $UNAME_RELEASE in
|
|
*4.0)
|
|
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
|
|
@@ -289,7 +329,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
|
|
# covers most systems running today. This code pipes the CPU
|
|
# types through head -n 1, so we only detect the type of CPU 0.
|
|
ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
|
|
- case "$ALPHA_CPU_TYPE" in
|
|
+ case $ALPHA_CPU_TYPE in
|
|
"EV4 (21064)")
|
|
UNAME_MACHINE=alpha ;;
|
|
"EV4.5 (21064)")
|
|
@@ -326,117 +366,121 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
|
|
# A Tn.n version is a released field test version.
|
|
# A Xn.n version is an unreleased experimental baselevel.
|
|
# 1.2 uses "1.2" for uname -r.
|
|
- echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`"
|
|
- # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
|
|
- exitcode=$?
|
|
- trap '' 0
|
|
- exit $exitcode ;;
|
|
+ OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
|
|
+ GUESS=$UNAME_MACHINE-dec-osf$OSF_REL
|
|
+ ;;
|
|
Amiga*:UNIX_System_V:4.0:*)
|
|
- echo m68k-unknown-sysv4
|
|
- exit ;;
|
|
+ GUESS=m68k-unknown-sysv4
|
|
+ ;;
|
|
*:[Aa]miga[Oo][Ss]:*:*)
|
|
- echo "$UNAME_MACHINE"-unknown-amigaos
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-unknown-amigaos
|
|
+ ;;
|
|
*:[Mm]orph[Oo][Ss]:*:*)
|
|
- echo "$UNAME_MACHINE"-unknown-morphos
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-unknown-morphos
|
|
+ ;;
|
|
*:OS/390:*:*)
|
|
- echo i370-ibm-openedition
|
|
- exit ;;
|
|
+ GUESS=i370-ibm-openedition
|
|
+ ;;
|
|
*:z/VM:*:*)
|
|
- echo s390-ibm-zvmoe
|
|
- exit ;;
|
|
+ GUESS=s390-ibm-zvmoe
|
|
+ ;;
|
|
*:OS400:*:*)
|
|
- echo powerpc-ibm-os400
|
|
- exit ;;
|
|
+ GUESS=powerpc-ibm-os400
|
|
+ ;;
|
|
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
|
|
- echo arm-acorn-riscix"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=arm-acorn-riscix$UNAME_RELEASE
|
|
+ ;;
|
|
arm*:riscos:*:*|arm*:RISCOS:*:*)
|
|
- echo arm-unknown-riscos
|
|
- exit ;;
|
|
+ GUESS=arm-unknown-riscos
|
|
+ ;;
|
|
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
|
|
- echo hppa1.1-hitachi-hiuxmpp
|
|
- exit ;;
|
|
+ GUESS=hppa1.1-hitachi-hiuxmpp
|
|
+ ;;
|
|
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
|
|
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
|
|
- if test "`(/bin/universe) 2>/dev/null`" = att ; then
|
|
- echo pyramid-pyramid-sysv3
|
|
- else
|
|
- echo pyramid-pyramid-bsd
|
|
- fi
|
|
- exit ;;
|
|
+ case `(/bin/universe) 2>/dev/null` in
|
|
+ att) GUESS=pyramid-pyramid-sysv3 ;;
|
|
+ *) GUESS=pyramid-pyramid-bsd ;;
|
|
+ esac
|
|
+ ;;
|
|
NILE*:*:*:dcosx)
|
|
- echo pyramid-pyramid-svr4
|
|
- exit ;;
|
|
+ GUESS=pyramid-pyramid-svr4
|
|
+ ;;
|
|
DRS?6000:unix:4.0:6*)
|
|
- echo sparc-icl-nx6
|
|
- exit ;;
|
|
+ GUESS=sparc-icl-nx6
|
|
+ ;;
|
|
DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
|
|
case `/usr/bin/uname -p` in
|
|
- sparc) echo sparc-icl-nx7; exit ;;
|
|
- esac ;;
|
|
+ sparc) GUESS=sparc-icl-nx7 ;;
|
|
+ esac
|
|
+ ;;
|
|
s390x:SunOS:*:*)
|
|
- echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
|
|
- exit ;;
|
|
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
|
|
+ GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL
|
|
+ ;;
|
|
sun4H:SunOS:5.*:*)
|
|
- echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
|
|
- exit ;;
|
|
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
|
|
+ GUESS=sparc-hal-solaris2$SUN_REL
|
|
+ ;;
|
|
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
|
|
- echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
|
|
- exit ;;
|
|
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
|
|
+ GUESS=sparc-sun-solaris2$SUN_REL
|
|
+ ;;
|
|
i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
|
|
- echo i386-pc-auroraux"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=i386-pc-auroraux$UNAME_RELEASE
|
|
+ ;;
|
|
i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
|
|
- eval "$set_cc_for_build"
|
|
+ set_cc_for_build
|
|
SUN_ARCH=i386
|
|
# If there is a compiler, see if it is configured for 64-bit objects.
|
|
# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
|
|
# This test works for both compilers.
|
|
- if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
|
|
+ if test "$CC_FOR_BUILD" != no_compiler_found; then
|
|
if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
|
|
- (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
|
|
+ (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \
|
|
grep IS_64BIT_ARCH >/dev/null
|
|
then
|
|
SUN_ARCH=x86_64
|
|
fi
|
|
fi
|
|
- echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
|
|
- exit ;;
|
|
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
|
|
+ GUESS=$SUN_ARCH-pc-solaris2$SUN_REL
|
|
+ ;;
|
|
sun4*:SunOS:6*:*)
|
|
# According to config.sub, this is the proper way to canonicalize
|
|
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
|
|
# it's likely to be more like Solaris than SunOS4.
|
|
- echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
|
|
- exit ;;
|
|
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
|
|
+ GUESS=sparc-sun-solaris3$SUN_REL
|
|
+ ;;
|
|
sun4*:SunOS:*:*)
|
|
- case "`/usr/bin/arch -k`" in
|
|
+ case `/usr/bin/arch -k` in
|
|
Series*|S4*)
|
|
UNAME_RELEASE=`uname -v`
|
|
;;
|
|
esac
|
|
# Japanese Language versions have a version number like `4.1.3-JL'.
|
|
- echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`"
|
|
- exit ;;
|
|
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'`
|
|
+ GUESS=sparc-sun-sunos$SUN_REL
|
|
+ ;;
|
|
sun3*:SunOS:*:*)
|
|
- echo m68k-sun-sunos"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=m68k-sun-sunos$UNAME_RELEASE
|
|
+ ;;
|
|
sun*:*:4.2BSD:*)
|
|
UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
|
|
test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
|
|
- case "`/bin/arch`" in
|
|
+ case `/bin/arch` in
|
|
sun3)
|
|
- echo m68k-sun-sunos"$UNAME_RELEASE"
|
|
+ GUESS=m68k-sun-sunos$UNAME_RELEASE
|
|
;;
|
|
sun4)
|
|
- echo sparc-sun-sunos"$UNAME_RELEASE"
|
|
+ GUESS=sparc-sun-sunos$UNAME_RELEASE
|
|
;;
|
|
esac
|
|
- exit ;;
|
|
+ ;;
|
|
aushp:SunOS:*:*)
|
|
- echo sparc-auspex-sunos"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=sparc-auspex-sunos$UNAME_RELEASE
|
|
+ ;;
|
|
# The situation for MiNT is a little confusing. The machine name
|
|
# can be virtually everything (everything which is not
|
|
# "atarist" or "atariste" at least should have a processor
|
|
@@ -446,43 +490,43 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
|
|
# MiNT. But MiNT is downward compatible to TOS, so this should
|
|
# be no problem.
|
|
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
|
|
- echo m68k-atari-mint"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=m68k-atari-mint$UNAME_RELEASE
|
|
+ ;;
|
|
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
|
|
- echo m68k-atari-mint"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=m68k-atari-mint$UNAME_RELEASE
|
|
+ ;;
|
|
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
|
|
- echo m68k-atari-mint"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=m68k-atari-mint$UNAME_RELEASE
|
|
+ ;;
|
|
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
|
|
- echo m68k-milan-mint"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=m68k-milan-mint$UNAME_RELEASE
|
|
+ ;;
|
|
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
|
|
- echo m68k-hades-mint"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=m68k-hades-mint$UNAME_RELEASE
|
|
+ ;;
|
|
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
|
|
- echo m68k-unknown-mint"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=m68k-unknown-mint$UNAME_RELEASE
|
|
+ ;;
|
|
m68k:machten:*:*)
|
|
- echo m68k-apple-machten"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=m68k-apple-machten$UNAME_RELEASE
|
|
+ ;;
|
|
powerpc:machten:*:*)
|
|
- echo powerpc-apple-machten"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=powerpc-apple-machten$UNAME_RELEASE
|
|
+ ;;
|
|
RISC*:Mach:*:*)
|
|
- echo mips-dec-mach_bsd4.3
|
|
- exit ;;
|
|
+ GUESS=mips-dec-mach_bsd4.3
|
|
+ ;;
|
|
RISC*:ULTRIX:*:*)
|
|
- echo mips-dec-ultrix"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=mips-dec-ultrix$UNAME_RELEASE
|
|
+ ;;
|
|
VAX*:ULTRIX*:*:*)
|
|
- echo vax-dec-ultrix"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=vax-dec-ultrix$UNAME_RELEASE
|
|
+ ;;
|
|
2020:CLIX:*:* | 2430:CLIX:*:*)
|
|
- echo clipper-intergraph-clix"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=clipper-intergraph-clix$UNAME_RELEASE
|
|
+ ;;
|
|
mips:*:*:UMIPS | mips:*:*:RISCos)
|
|
- eval "$set_cc_for_build"
|
|
+ set_cc_for_build
|
|
sed 's/^ //' << EOF > "$dummy.c"
|
|
#ifdef __cplusplus
|
|
#include <stdio.h> /* for printf() prototype */
|
|
@@ -508,78 +552,79 @@ EOF
|
|
dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
|
|
SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
|
|
{ echo "$SYSTEM_NAME"; exit; }
|
|
- echo mips-mips-riscos"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=mips-mips-riscos$UNAME_RELEASE
|
|
+ ;;
|
|
Motorola:PowerMAX_OS:*:*)
|
|
- echo powerpc-motorola-powermax
|
|
- exit ;;
|
|
+ GUESS=powerpc-motorola-powermax
|
|
+ ;;
|
|
Motorola:*:4.3:PL8-*)
|
|
- echo powerpc-harris-powermax
|
|
- exit ;;
|
|
+ GUESS=powerpc-harris-powermax
|
|
+ ;;
|
|
Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
|
|
- echo powerpc-harris-powermax
|
|
- exit ;;
|
|
+ GUESS=powerpc-harris-powermax
|
|
+ ;;
|
|
Night_Hawk:Power_UNIX:*:*)
|
|
- echo powerpc-harris-powerunix
|
|
- exit ;;
|
|
+ GUESS=powerpc-harris-powerunix
|
|
+ ;;
|
|
m88k:CX/UX:7*:*)
|
|
- echo m88k-harris-cxux7
|
|
- exit ;;
|
|
+ GUESS=m88k-harris-cxux7
|
|
+ ;;
|
|
m88k:*:4*:R4*)
|
|
- echo m88k-motorola-sysv4
|
|
- exit ;;
|
|
+ GUESS=m88k-motorola-sysv4
|
|
+ ;;
|
|
m88k:*:3*:R3*)
|
|
- echo m88k-motorola-sysv3
|
|
- exit ;;
|
|
+ GUESS=m88k-motorola-sysv3
|
|
+ ;;
|
|
AViiON:dgux:*:*)
|
|
# DG/UX returns AViiON for all architectures
|
|
UNAME_PROCESSOR=`/usr/bin/uname -p`
|
|
- if [ "$UNAME_PROCESSOR" = mc88100 ] || [ "$UNAME_PROCESSOR" = mc88110 ]
|
|
+ if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110
|
|
then
|
|
- if [ "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx ] || \
|
|
- [ "$TARGET_BINARY_INTERFACE"x = x ]
|
|
+ if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \
|
|
+ test "$TARGET_BINARY_INTERFACE"x = x
|
|
then
|
|
- echo m88k-dg-dgux"$UNAME_RELEASE"
|
|
+ GUESS=m88k-dg-dgux$UNAME_RELEASE
|
|
else
|
|
- echo m88k-dg-dguxbcs"$UNAME_RELEASE"
|
|
+ GUESS=m88k-dg-dguxbcs$UNAME_RELEASE
|
|
fi
|
|
else
|
|
- echo i586-dg-dgux"$UNAME_RELEASE"
|
|
+ GUESS=i586-dg-dgux$UNAME_RELEASE
|
|
fi
|
|
- exit ;;
|
|
+ ;;
|
|
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
|
|
- echo m88k-dolphin-sysv3
|
|
- exit ;;
|
|
+ GUESS=m88k-dolphin-sysv3
|
|
+ ;;
|
|
M88*:*:R3*:*)
|
|
# Delta 88k system running SVR3
|
|
- echo m88k-motorola-sysv3
|
|
- exit ;;
|
|
+ GUESS=m88k-motorola-sysv3
|
|
+ ;;
|
|
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
|
|
- echo m88k-tektronix-sysv3
|
|
- exit ;;
|
|
+ GUESS=m88k-tektronix-sysv3
|
|
+ ;;
|
|
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
|
|
- echo m68k-tektronix-bsd
|
|
- exit ;;
|
|
+ GUESS=m68k-tektronix-bsd
|
|
+ ;;
|
|
*:IRIX*:*:*)
|
|
- echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`"
|
|
- exit ;;
|
|
+ IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'`
|
|
+ GUESS=mips-sgi-irix$IRIX_REL
|
|
+ ;;
|
|
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
|
|
- echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
|
|
- exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
|
|
+ GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id
|
|
+ ;; # Note that: echo "'`uname -s`'" gives 'AIX '
|
|
i*86:AIX:*:*)
|
|
- echo i386-ibm-aix
|
|
- exit ;;
|
|
+ GUESS=i386-ibm-aix
|
|
+ ;;
|
|
ia64:AIX:*:*)
|
|
- if [ -x /usr/bin/oslevel ] ; then
|
|
+ if test -x /usr/bin/oslevel ; then
|
|
IBM_REV=`/usr/bin/oslevel`
|
|
else
|
|
- IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
|
|
+ IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
|
|
fi
|
|
- echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV"
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV
|
|
+ ;;
|
|
*:AIX:2:3)
|
|
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
|
|
- eval "$set_cc_for_build"
|
|
+ set_cc_for_build
|
|
sed 's/^ //' << EOF > "$dummy.c"
|
|
#include <sys/systemcfg.h>
|
|
|
|
@@ -593,16 +638,16 @@ EOF
|
|
EOF
|
|
if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
|
|
then
|
|
- echo "$SYSTEM_NAME"
|
|
+ GUESS=$SYSTEM_NAME
|
|
else
|
|
- echo rs6000-ibm-aix3.2.5
|
|
+ GUESS=rs6000-ibm-aix3.2.5
|
|
fi
|
|
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
|
|
- echo rs6000-ibm-aix3.2.4
|
|
+ GUESS=rs6000-ibm-aix3.2.4
|
|
else
|
|
- echo rs6000-ibm-aix3.2
|
|
+ GUESS=rs6000-ibm-aix3.2
|
|
fi
|
|
- exit ;;
|
|
+ ;;
|
|
*:AIX:*:[4567])
|
|
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
|
|
if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
|
|
@@ -610,57 +655,57 @@ EOF
|
|
else
|
|
IBM_ARCH=powerpc
|
|
fi
|
|
- if [ -x /usr/bin/lslpp ] ; then
|
|
- IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
|
|
+ if test -x /usr/bin/lslpp ; then
|
|
+ IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \
|
|
awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
|
|
else
|
|
- IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
|
|
+ IBM_REV=$UNAME_VERSION.$UNAME_RELEASE
|
|
fi
|
|
- echo "$IBM_ARCH"-ibm-aix"$IBM_REV"
|
|
- exit ;;
|
|
+ GUESS=$IBM_ARCH-ibm-aix$IBM_REV
|
|
+ ;;
|
|
*:AIX:*:*)
|
|
- echo rs6000-ibm-aix
|
|
- exit ;;
|
|
+ GUESS=rs6000-ibm-aix
|
|
+ ;;
|
|
ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
|
|
- echo romp-ibm-bsd4.4
|
|
- exit ;;
|
|
+ GUESS=romp-ibm-bsd4.4
|
|
+ ;;
|
|
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
|
|
- echo romp-ibm-bsd"$UNAME_RELEASE" # 4.3 with uname added to
|
|
- exit ;; # report: romp-ibm BSD 4.3
|
|
+ GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to
|
|
+ ;; # report: romp-ibm BSD 4.3
|
|
*:BOSX:*:*)
|
|
- echo rs6000-bull-bosx
|
|
- exit ;;
|
|
+ GUESS=rs6000-bull-bosx
|
|
+ ;;
|
|
DPX/2?00:B.O.S.:*:*)
|
|
- echo m68k-bull-sysv3
|
|
- exit ;;
|
|
+ GUESS=m68k-bull-sysv3
|
|
+ ;;
|
|
9000/[34]??:4.3bsd:1.*:*)
|
|
- echo m68k-hp-bsd
|
|
- exit ;;
|
|
+ GUESS=m68k-hp-bsd
|
|
+ ;;
|
|
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
|
|
- echo m68k-hp-bsd4.4
|
|
- exit ;;
|
|
+ GUESS=m68k-hp-bsd4.4
|
|
+ ;;
|
|
9000/[34678]??:HP-UX:*:*)
|
|
- HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
|
|
- case "$UNAME_MACHINE" in
|
|
+ HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
|
|
+ case $UNAME_MACHINE in
|
|
9000/31?) HP_ARCH=m68000 ;;
|
|
9000/[34]??) HP_ARCH=m68k ;;
|
|
9000/[678][0-9][0-9])
|
|
- if [ -x /usr/bin/getconf ]; then
|
|
+ if test -x /usr/bin/getconf; then
|
|
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
|
|
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
|
|
- case "$sc_cpu_version" in
|
|
+ case $sc_cpu_version in
|
|
523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
|
|
528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
|
|
532) # CPU_PA_RISC2_0
|
|
- case "$sc_kernel_bits" in
|
|
+ case $sc_kernel_bits in
|
|
32) HP_ARCH=hppa2.0n ;;
|
|
64) HP_ARCH=hppa2.0w ;;
|
|
'') HP_ARCH=hppa2.0 ;; # HP-UX 10.20
|
|
esac ;;
|
|
esac
|
|
fi
|
|
- if [ "$HP_ARCH" = "" ]; then
|
|
- eval "$set_cc_for_build"
|
|
+ if test "$HP_ARCH" = ""; then
|
|
+ set_cc_for_build
|
|
sed 's/^ //' << EOF > "$dummy.c"
|
|
|
|
#define _HPUX_SOURCE
|
|
@@ -698,9 +743,9 @@ EOF
|
|
test -z "$HP_ARCH" && HP_ARCH=hppa
|
|
fi ;;
|
|
esac
|
|
- if [ "$HP_ARCH" = hppa2.0w ]
|
|
+ if test "$HP_ARCH" = hppa2.0w
|
|
then
|
|
- eval "$set_cc_for_build"
|
|
+ set_cc_for_build
|
|
|
|
# hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
|
|
# 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
|
|
@@ -719,14 +764,14 @@ EOF
|
|
HP_ARCH=hppa64
|
|
fi
|
|
fi
|
|
- echo "$HP_ARCH"-hp-hpux"$HPUX_REV"
|
|
- exit ;;
|
|
+ GUESS=$HP_ARCH-hp-hpux$HPUX_REV
|
|
+ ;;
|
|
ia64:HP-UX:*:*)
|
|
- HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
|
|
- echo ia64-hp-hpux"$HPUX_REV"
|
|
- exit ;;
|
|
+ HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'`
|
|
+ GUESS=ia64-hp-hpux$HPUX_REV
|
|
+ ;;
|
|
3050*:HI-UX:*:*)
|
|
- eval "$set_cc_for_build"
|
|
+ set_cc_for_build
|
|
sed 's/^ //' << EOF > "$dummy.c"
|
|
#include <unistd.h>
|
|
int
|
|
@@ -754,36 +799,36 @@ EOF
|
|
EOF
|
|
$CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
|
|
{ echo "$SYSTEM_NAME"; exit; }
|
|
- echo unknown-hitachi-hiuxwe2
|
|
- exit ;;
|
|
+ GUESS=unknown-hitachi-hiuxwe2
|
|
+ ;;
|
|
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
|
|
- echo hppa1.1-hp-bsd
|
|
- exit ;;
|
|
+ GUESS=hppa1.1-hp-bsd
|
|
+ ;;
|
|
9000/8??:4.3bsd:*:*)
|
|
- echo hppa1.0-hp-bsd
|
|
- exit ;;
|
|
+ GUESS=hppa1.0-hp-bsd
|
|
+ ;;
|
|
*9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
|
|
- echo hppa1.0-hp-mpeix
|
|
- exit ;;
|
|
+ GUESS=hppa1.0-hp-mpeix
|
|
+ ;;
|
|
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
|
|
- echo hppa1.1-hp-osf
|
|
- exit ;;
|
|
+ GUESS=hppa1.1-hp-osf
|
|
+ ;;
|
|
hp8??:OSF1:*:*)
|
|
- echo hppa1.0-hp-osf
|
|
- exit ;;
|
|
+ GUESS=hppa1.0-hp-osf
|
|
+ ;;
|
|
i*86:OSF1:*:*)
|
|
- if [ -x /usr/sbin/sysversion ] ; then
|
|
- echo "$UNAME_MACHINE"-unknown-osf1mk
|
|
+ if test -x /usr/sbin/sysversion ; then
|
|
+ GUESS=$UNAME_MACHINE-unknown-osf1mk
|
|
else
|
|
- echo "$UNAME_MACHINE"-unknown-osf1
|
|
+ GUESS=$UNAME_MACHINE-unknown-osf1
|
|
fi
|
|
- exit ;;
|
|
+ ;;
|
|
parisc*:Lites*:*:*)
|
|
- echo hppa1.1-hp-lites
|
|
- exit ;;
|
|
+ GUESS=hppa1.1-hp-lites
|
|
+ ;;
|
|
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
|
|
- echo c1-convex-bsd
|
|
- exit ;;
|
|
+ GUESS=c1-convex-bsd
|
|
+ ;;
|
|
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
|
|
if getsysinfo -f scalar_acc
|
|
then echo c32-convex-bsd
|
|
@@ -791,17 +836,18 @@ EOF
|
|
fi
|
|
exit ;;
|
|
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
|
|
- echo c34-convex-bsd
|
|
- exit ;;
|
|
+ GUESS=c34-convex-bsd
|
|
+ ;;
|
|
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
|
|
- echo c38-convex-bsd
|
|
- exit ;;
|
|
+ GUESS=c38-convex-bsd
|
|
+ ;;
|
|
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
|
|
- echo c4-convex-bsd
|
|
- exit ;;
|
|
+ GUESS=c4-convex-bsd
|
|
+ ;;
|
|
CRAY*Y-MP:*:*:*)
|
|
- echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
|
|
- exit ;;
|
|
+ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
|
|
+ GUESS=ymp-cray-unicos$CRAY_REL
|
|
+ ;;
|
|
CRAY*[A-Z]90:*:*:*)
|
|
echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
|
|
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
|
|
@@ -809,103 +855,129 @@ EOF
|
|
-e 's/\.[^.]*$/.X/'
|
|
exit ;;
|
|
CRAY*TS:*:*:*)
|
|
- echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
|
|
- exit ;;
|
|
+ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
|
|
+ GUESS=t90-cray-unicos$CRAY_REL
|
|
+ ;;
|
|
CRAY*T3E:*:*:*)
|
|
- echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
|
|
- exit ;;
|
|
+ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
|
|
+ GUESS=alphaev5-cray-unicosmk$CRAY_REL
|
|
+ ;;
|
|
CRAY*SV1:*:*:*)
|
|
- echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
|
|
- exit ;;
|
|
+ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
|
|
+ GUESS=sv1-cray-unicos$CRAY_REL
|
|
+ ;;
|
|
*:UNICOS/mp:*:*)
|
|
- echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
|
|
- exit ;;
|
|
+ CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'`
|
|
+ GUESS=craynv-cray-unicosmp$CRAY_REL
|
|
+ ;;
|
|
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
|
|
FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
|
|
FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
|
|
FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
|
|
- echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
|
|
- exit ;;
|
|
+ GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
|
|
+ ;;
|
|
5000:UNIX_System_V:4.*:*)
|
|
FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
|
|
FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
|
|
- echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
|
|
- exit ;;
|
|
+ GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}
|
|
+ ;;
|
|
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
|
|
- echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE
|
|
+ ;;
|
|
sparc*:BSD/OS:*:*)
|
|
- echo sparc-unknown-bsdi"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=sparc-unknown-bsdi$UNAME_RELEASE
|
|
+ ;;
|
|
*:BSD/OS:*:*)
|
|
- echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE
|
|
+ ;;
|
|
+ arm:FreeBSD:*:*)
|
|
+ UNAME_PROCESSOR=`uname -p`
|
|
+ set_cc_for_build
|
|
+ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
|
|
+ | grep -q __ARM_PCS_VFP
|
|
+ then
|
|
+ FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
|
|
+ GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi
|
|
+ else
|
|
+ FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
|
|
+ GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf
|
|
+ fi
|
|
+ ;;
|
|
*:FreeBSD:*:*)
|
|
UNAME_PROCESSOR=`/usr/bin/uname -p`
|
|
- case "$UNAME_PROCESSOR" in
|
|
+ case $UNAME_PROCESSOR in
|
|
amd64)
|
|
UNAME_PROCESSOR=x86_64 ;;
|
|
i386)
|
|
UNAME_PROCESSOR=i586 ;;
|
|
esac
|
|
- echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
|
|
- exit ;;
|
|
+ FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
|
|
+ GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL
|
|
+ ;;
|
|
i*:CYGWIN*:*)
|
|
- echo "$UNAME_MACHINE"-pc-cygwin
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-pc-cygwin
|
|
+ ;;
|
|
*:MINGW64*:*)
|
|
- echo "$UNAME_MACHINE"-pc-mingw64
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-pc-mingw64
|
|
+ ;;
|
|
*:MINGW*:*)
|
|
- echo "$UNAME_MACHINE"-pc-mingw32
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-pc-mingw32
|
|
+ ;;
|
|
*:MSYS*:*)
|
|
- echo "$UNAME_MACHINE"-pc-msys
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-pc-msys
|
|
+ ;;
|
|
i*:PW*:*)
|
|
- echo "$UNAME_MACHINE"-pc-pw32
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-pc-pw32
|
|
+ ;;
|
|
+ *:SerenityOS:*:*)
|
|
+ GUESS=$UNAME_MACHINE-pc-serenity
|
|
+ ;;
|
|
*:Interix*:*)
|
|
- case "$UNAME_MACHINE" in
|
|
+ case $UNAME_MACHINE in
|
|
x86)
|
|
- echo i586-pc-interix"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=i586-pc-interix$UNAME_RELEASE
|
|
+ ;;
|
|
authenticamd | genuineintel | EM64T)
|
|
- echo x86_64-unknown-interix"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=x86_64-unknown-interix$UNAME_RELEASE
|
|
+ ;;
|
|
IA64)
|
|
- echo ia64-unknown-interix"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=ia64-unknown-interix$UNAME_RELEASE
|
|
+ ;;
|
|
esac ;;
|
|
i*:UWIN*:*)
|
|
- echo "$UNAME_MACHINE"-pc-uwin
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-pc-uwin
|
|
+ ;;
|
|
amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
|
|
- echo x86_64-unknown-cygwin
|
|
- exit ;;
|
|
+ GUESS=x86_64-pc-cygwin
|
|
+ ;;
|
|
prep*:SunOS:5.*:*)
|
|
- echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
|
|
- exit ;;
|
|
+ SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`
|
|
+ GUESS=powerpcle-unknown-solaris2$SUN_REL
|
|
+ ;;
|
|
*:GNU:*:*)
|
|
# the GNU system
|
|
- echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`"
|
|
- exit ;;
|
|
+ GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'`
|
|
+ GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'`
|
|
+ GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL
|
|
+ ;;
|
|
*:GNU/*:*:*)
|
|
# other systems with GNU libc and userland
|
|
- echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC"
|
|
- exit ;;
|
|
- i*86:Minix:*:*)
|
|
- echo "$UNAME_MACHINE"-pc-minix
|
|
- exit ;;
|
|
+ GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"`
|
|
+ GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
|
|
+ GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC
|
|
+ ;;
|
|
+ *:Minix:*:*)
|
|
+ GUESS=$UNAME_MACHINE-unknown-minix
|
|
+ ;;
|
|
aarch64:Linux:*:*)
|
|
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
|
|
+ ;;
|
|
aarch64_be:Linux:*:*)
|
|
UNAME_MACHINE=aarch64_be
|
|
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
|
|
+ ;;
|
|
alpha:Linux:*:*)
|
|
- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
|
|
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in
|
|
EV5) UNAME_MACHINE=alphaev5 ;;
|
|
EV56) UNAME_MACHINE=alphaev56 ;;
|
|
PCA56) UNAME_MACHINE=alphapca56 ;;
|
|
@@ -916,187 +988,225 @@ EOF
|
|
esac
|
|
objdump --private-headers /bin/sh | grep -q ld.so.1
|
|
if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
|
|
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
|
|
- exit ;;
|
|
- arc:Linux:*:* | arceb:Linux:*:*)
|
|
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
|
|
+ ;;
|
|
+ arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*)
|
|
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
|
|
+ ;;
|
|
arm*:Linux:*:*)
|
|
- eval "$set_cc_for_build"
|
|
+ set_cc_for_build
|
|
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
|
|
| grep -q __ARM_EABI__
|
|
then
|
|
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
|
|
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
|
|
else
|
|
if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
|
|
| grep -q __ARM_PCS_VFP
|
|
then
|
|
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi
|
|
+ GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi
|
|
else
|
|
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf
|
|
+ GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf
|
|
fi
|
|
fi
|
|
- exit ;;
|
|
+ ;;
|
|
avr32*:Linux:*:*)
|
|
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
|
|
+ ;;
|
|
cris:Linux:*:*)
|
|
- echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-axis-linux-$LIBC
|
|
+ ;;
|
|
crisv32:Linux:*:*)
|
|
- echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-axis-linux-$LIBC
|
|
+ ;;
|
|
e2k:Linux:*:*)
|
|
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
|
|
+ ;;
|
|
frv:Linux:*:*)
|
|
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
|
|
+ ;;
|
|
hexagon:Linux:*:*)
|
|
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
|
|
+ ;;
|
|
i*86:Linux:*:*)
|
|
- echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-pc-linux-$LIBC
|
|
+ ;;
|
|
ia64:Linux:*:*)
|
|
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
|
|
+ ;;
|
|
k1om:Linux:*:*)
|
|
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
|
|
+ ;;
|
|
+ loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*)
|
|
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
|
|
+ ;;
|
|
m32r*:Linux:*:*)
|
|
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
|
|
+ ;;
|
|
m68*:Linux:*:*)
|
|
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
|
|
+ ;;
|
|
mips:Linux:*:* | mips64:Linux:*:*)
|
|
- eval "$set_cc_for_build"
|
|
+ set_cc_for_build
|
|
+ IS_GLIBC=0
|
|
+ test x"${LIBC}" = xgnu && IS_GLIBC=1
|
|
sed 's/^ //' << EOF > "$dummy.c"
|
|
#undef CPU
|
|
- #undef ${UNAME_MACHINE}
|
|
- #undef ${UNAME_MACHINE}el
|
|
+ #undef mips
|
|
+ #undef mipsel
|
|
+ #undef mips64
|
|
+ #undef mips64el
|
|
+ #if ${IS_GLIBC} && defined(_ABI64)
|
|
+ LIBCABI=gnuabi64
|
|
+ #else
|
|
+ #if ${IS_GLIBC} && defined(_ABIN32)
|
|
+ LIBCABI=gnuabin32
|
|
+ #else
|
|
+ LIBCABI=${LIBC}
|
|
+ #endif
|
|
+ #endif
|
|
+
|
|
+ #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
|
|
+ CPU=mipsisa64r6
|
|
+ #else
|
|
+ #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
|
|
+ CPU=mipsisa32r6
|
|
+ #else
|
|
+ #if defined(__mips64)
|
|
+ CPU=mips64
|
|
+ #else
|
|
+ CPU=mips
|
|
+ #endif
|
|
+ #endif
|
|
+ #endif
|
|
+
|
|
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
|
|
- CPU=${UNAME_MACHINE}el
|
|
+ MIPS_ENDIAN=el
|
|
#else
|
|
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
|
|
- CPU=${UNAME_MACHINE}
|
|
+ MIPS_ENDIAN=
|
|
#else
|
|
- CPU=
|
|
+ MIPS_ENDIAN=
|
|
#endif
|
|
#endif
|
|
EOF
|
|
- eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU'`"
|
|
- test "x$CPU" != x && { echo "$CPU-unknown-linux-$LIBC"; exit; }
|
|
+ cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`
|
|
+ eval "$cc_set_vars"
|
|
+ test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; }
|
|
;;
|
|
mips64el:Linux:*:*)
|
|
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
|
|
+ ;;
|
|
openrisc*:Linux:*:*)
|
|
- echo or1k-unknown-linux-"$LIBC"
|
|
- exit ;;
|
|
+ GUESS=or1k-unknown-linux-$LIBC
|
|
+ ;;
|
|
or32:Linux:*:* | or1k*:Linux:*:*)
|
|
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
|
|
+ ;;
|
|
padre:Linux:*:*)
|
|
- echo sparc-unknown-linux-"$LIBC"
|
|
- exit ;;
|
|
+ GUESS=sparc-unknown-linux-$LIBC
|
|
+ ;;
|
|
parisc64:Linux:*:* | hppa64:Linux:*:*)
|
|
- echo hppa64-unknown-linux-"$LIBC"
|
|
- exit ;;
|
|
+ GUESS=hppa64-unknown-linux-$LIBC
|
|
+ ;;
|
|
parisc:Linux:*:* | hppa:Linux:*:*)
|
|
# Look for CPU level
|
|
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
|
|
- PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;;
|
|
- PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;;
|
|
- *) echo hppa-unknown-linux-"$LIBC" ;;
|
|
+ PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;;
|
|
+ PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;;
|
|
+ *) GUESS=hppa-unknown-linux-$LIBC ;;
|
|
esac
|
|
- exit ;;
|
|
+ ;;
|
|
ppc64:Linux:*:*)
|
|
- echo powerpc64-unknown-linux-"$LIBC"
|
|
- exit ;;
|
|
+ GUESS=powerpc64-unknown-linux-$LIBC
|
|
+ ;;
|
|
ppc:Linux:*:*)
|
|
- echo powerpc-unknown-linux-"$LIBC"
|
|
- exit ;;
|
|
+ GUESS=powerpc-unknown-linux-$LIBC
|
|
+ ;;
|
|
ppc64le:Linux:*:*)
|
|
- echo powerpc64le-unknown-linux-"$LIBC"
|
|
- exit ;;
|
|
+ GUESS=powerpc64le-unknown-linux-$LIBC
|
|
+ ;;
|
|
ppcle:Linux:*:*)
|
|
- echo powerpcle-unknown-linux-"$LIBC"
|
|
- exit ;;
|
|
- riscv32:Linux:*:* | riscv64:Linux:*:*)
|
|
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
|
|
- exit ;;
|
|
+ GUESS=powerpcle-unknown-linux-$LIBC
|
|
+ ;;
|
|
+ riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*)
|
|
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
|
|
+ ;;
|
|
s390:Linux:*:* | s390x:Linux:*:*)
|
|
- echo "$UNAME_MACHINE"-ibm-linux-"$LIBC"
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-ibm-linux-$LIBC
|
|
+ ;;
|
|
sh64*:Linux:*:*)
|
|
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
|
|
+ ;;
|
|
sh*:Linux:*:*)
|
|
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
|
|
+ ;;
|
|
sparc:Linux:*:* | sparc64:Linux:*:*)
|
|
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
|
|
+ ;;
|
|
tile*:Linux:*:*)
|
|
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
|
|
+ ;;
|
|
vax:Linux:*:*)
|
|
- echo "$UNAME_MACHINE"-dec-linux-"$LIBC"
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-dec-linux-$LIBC
|
|
+ ;;
|
|
x86_64:Linux:*:*)
|
|
- if objdump -f /bin/sh | grep -q elf32-x86-64; then
|
|
- echo "$UNAME_MACHINE"-pc-linux-"$LIBC"x32
|
|
- else
|
|
- echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
|
|
+ set_cc_for_build
|
|
+ LIBCABI=$LIBC
|
|
+ if test "$CC_FOR_BUILD" != no_compiler_found; then
|
|
+ if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \
|
|
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
|
|
+ grep IS_X32 >/dev/null
|
|
+ then
|
|
+ LIBCABI=${LIBC}x32
|
|
+ fi
|
|
fi
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-pc-linux-$LIBCABI
|
|
+ ;;
|
|
xtensa*:Linux:*:*)
|
|
- echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
|
|
+ ;;
|
|
i*86:DYNIX/ptx:4*:*)
|
|
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
|
|
# earlier versions are messed up and put the nodename in both
|
|
# sysname and nodename.
|
|
- echo i386-sequent-sysv4
|
|
- exit ;;
|
|
+ GUESS=i386-sequent-sysv4
|
|
+ ;;
|
|
i*86:UNIX_SV:4.2MP:2.*)
|
|
# Unixware is an offshoot of SVR4, but it has its own version
|
|
# number series starting with 2...
|
|
# I am not positive that other SVR4 systems won't match this,
|
|
# I just have to hope. -- rms.
|
|
# Use sysv4.2uw... so that sysv4* matches it.
|
|
- echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION"
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION
|
|
+ ;;
|
|
i*86:OS/2:*:*)
|
|
# If we were able to find `uname', then EMX Unix compatibility
|
|
# is probably installed.
|
|
- echo "$UNAME_MACHINE"-pc-os2-emx
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-pc-os2-emx
|
|
+ ;;
|
|
i*86:XTS-300:*:STOP)
|
|
- echo "$UNAME_MACHINE"-unknown-stop
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-unknown-stop
|
|
+ ;;
|
|
i*86:atheos:*:*)
|
|
- echo "$UNAME_MACHINE"-unknown-atheos
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-unknown-atheos
|
|
+ ;;
|
|
i*86:syllable:*:*)
|
|
- echo "$UNAME_MACHINE"-pc-syllable
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-pc-syllable
|
|
+ ;;
|
|
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
|
|
- echo i386-unknown-lynxos"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=i386-unknown-lynxos$UNAME_RELEASE
|
|
+ ;;
|
|
i*86:*DOS:*:*)
|
|
- echo "$UNAME_MACHINE"-pc-msdosdjgpp
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-pc-msdosdjgpp
|
|
+ ;;
|
|
i*86:*:4.*:*)
|
|
UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
|
|
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
|
|
- echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL"
|
|
+ GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL
|
|
else
|
|
- echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL"
|
|
+ GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL
|
|
fi
|
|
- exit ;;
|
|
+ ;;
|
|
i*86:*:5:[678]*)
|
|
# UnixWare 7.x, OpenUNIX and OpenServer 6.
|
|
case `/bin/uname -X | grep "^Machine"` in
|
|
@@ -1104,12 +1214,12 @@ EOF
|
|
*Pentium) UNAME_MACHINE=i586 ;;
|
|
*Pent*|*Celeron) UNAME_MACHINE=i686 ;;
|
|
esac
|
|
- echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}{$UNAME_VERSION}"
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
|
|
+ ;;
|
|
i*86:*:3.2:*)
|
|
if test -f /usr/options/cb.name; then
|
|
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
|
|
- echo "$UNAME_MACHINE"-pc-isc"$UNAME_REL"
|
|
+ GUESS=$UNAME_MACHINE-pc-isc$UNAME_REL
|
|
elif /bin/uname -X 2>/dev/null >/dev/null ; then
|
|
UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
|
|
(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
|
|
@@ -1119,11 +1229,11 @@ EOF
|
|
&& UNAME_MACHINE=i686
|
|
(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
|
|
&& UNAME_MACHINE=i686
|
|
- echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL"
|
|
+ GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL
|
|
else
|
|
- echo "$UNAME_MACHINE"-pc-sysv32
|
|
+ GUESS=$UNAME_MACHINE-pc-sysv32
|
|
fi
|
|
- exit ;;
|
|
+ ;;
|
|
pc:*:*:*)
|
|
# Left here for compatibility:
|
|
# uname -m prints for DJGPP always 'pc', but it prints nothing about
|
|
@@ -1131,31 +1241,31 @@ EOF
|
|
# Note: whatever this is, it MUST be the same as what config.sub
|
|
# prints for the "djgpp" host, or else GDB configure will decide that
|
|
# this is a cross-build.
|
|
- echo i586-pc-msdosdjgpp
|
|
- exit ;;
|
|
+ GUESS=i586-pc-msdosdjgpp
|
|
+ ;;
|
|
Intel:Mach:3*:*)
|
|
- echo i386-pc-mach3
|
|
- exit ;;
|
|
+ GUESS=i386-pc-mach3
|
|
+ ;;
|
|
paragon:*:*:*)
|
|
- echo i860-intel-osf1
|
|
- exit ;;
|
|
+ GUESS=i860-intel-osf1
|
|
+ ;;
|
|
i860:*:4.*:*) # i860-SVR4
|
|
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
|
|
- echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4
|
|
+ GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4
|
|
else # Add other i860-SVR4 vendors below as they are discovered.
|
|
- echo i860-unknown-sysv"$UNAME_RELEASE" # Unknown i860-SVR4
|
|
+ GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4
|
|
fi
|
|
- exit ;;
|
|
+ ;;
|
|
mini*:CTIX:SYS*5:*)
|
|
# "miniframe"
|
|
- echo m68010-convergent-sysv
|
|
- exit ;;
|
|
+ GUESS=m68010-convergent-sysv
|
|
+ ;;
|
|
mc68k:UNIX:SYSTEM5:3.51m)
|
|
- echo m68k-convergent-sysv
|
|
- exit ;;
|
|
+ GUESS=m68k-convergent-sysv
|
|
+ ;;
|
|
M680?0:D-NIX:5.3:*)
|
|
- echo m68k-diab-dnix
|
|
- exit ;;
|
|
+ GUESS=m68k-diab-dnix
|
|
+ ;;
|
|
M68*:*:R3V[5678]*:*)
|
|
test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
|
|
3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
|
|
@@ -1180,249 +1290,404 @@ EOF
|
|
/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
|
|
&& { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
|
|
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
|
|
- echo m68k-unknown-lynxos"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=m68k-unknown-lynxos$UNAME_RELEASE
|
|
+ ;;
|
|
mc68030:UNIX_System_V:4.*:*)
|
|
- echo m68k-atari-sysv4
|
|
- exit ;;
|
|
+ GUESS=m68k-atari-sysv4
|
|
+ ;;
|
|
TSUNAMI:LynxOS:2.*:*)
|
|
- echo sparc-unknown-lynxos"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=sparc-unknown-lynxos$UNAME_RELEASE
|
|
+ ;;
|
|
rs6000:LynxOS:2.*:*)
|
|
- echo rs6000-unknown-lynxos"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=rs6000-unknown-lynxos$UNAME_RELEASE
|
|
+ ;;
|
|
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
|
|
- echo powerpc-unknown-lynxos"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=powerpc-unknown-lynxos$UNAME_RELEASE
|
|
+ ;;
|
|
SM[BE]S:UNIX_SV:*:*)
|
|
- echo mips-dde-sysv"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=mips-dde-sysv$UNAME_RELEASE
|
|
+ ;;
|
|
RM*:ReliantUNIX-*:*:*)
|
|
- echo mips-sni-sysv4
|
|
- exit ;;
|
|
+ GUESS=mips-sni-sysv4
|
|
+ ;;
|
|
RM*:SINIX-*:*:*)
|
|
- echo mips-sni-sysv4
|
|
- exit ;;
|
|
+ GUESS=mips-sni-sysv4
|
|
+ ;;
|
|
*:SINIX-*:*:*)
|
|
if uname -p 2>/dev/null >/dev/null ; then
|
|
UNAME_MACHINE=`(uname -p) 2>/dev/null`
|
|
- echo "$UNAME_MACHINE"-sni-sysv4
|
|
+ GUESS=$UNAME_MACHINE-sni-sysv4
|
|
else
|
|
- echo ns32k-sni-sysv
|
|
+ GUESS=ns32k-sni-sysv
|
|
fi
|
|
- exit ;;
|
|
+ ;;
|
|
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
|
|
# says <Richard.M.Bartel@ccMail.Census.GOV>
|
|
- echo i586-unisys-sysv4
|
|
- exit ;;
|
|
+ GUESS=i586-unisys-sysv4
|
|
+ ;;
|
|
*:UNIX_System_V:4*:FTX*)
|
|
# From Gerald Hewes <hewes@openmarket.com>.
|
|
# How about differentiating between stratus architectures? -djm
|
|
- echo hppa1.1-stratus-sysv4
|
|
- exit ;;
|
|
+ GUESS=hppa1.1-stratus-sysv4
|
|
+ ;;
|
|
*:*:*:FTX*)
|
|
# From seanf@swdc.stratus.com.
|
|
- echo i860-stratus-sysv4
|
|
- exit ;;
|
|
+ GUESS=i860-stratus-sysv4
|
|
+ ;;
|
|
i*86:VOS:*:*)
|
|
# From Paul.Green@stratus.com.
|
|
- echo "$UNAME_MACHINE"-stratus-vos
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-stratus-vos
|
|
+ ;;
|
|
*:VOS:*:*)
|
|
# From Paul.Green@stratus.com.
|
|
- echo hppa1.1-stratus-vos
|
|
- exit ;;
|
|
+ GUESS=hppa1.1-stratus-vos
|
|
+ ;;
|
|
mc68*:A/UX:*:*)
|
|
- echo m68k-apple-aux"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=m68k-apple-aux$UNAME_RELEASE
|
|
+ ;;
|
|
news*:NEWS-OS:6*:*)
|
|
- echo mips-sony-newsos6
|
|
- exit ;;
|
|
+ GUESS=mips-sony-newsos6
|
|
+ ;;
|
|
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
|
|
- if [ -d /usr/nec ]; then
|
|
- echo mips-nec-sysv"$UNAME_RELEASE"
|
|
+ if test -d /usr/nec; then
|
|
+ GUESS=mips-nec-sysv$UNAME_RELEASE
|
|
else
|
|
- echo mips-unknown-sysv"$UNAME_RELEASE"
|
|
+ GUESS=mips-unknown-sysv$UNAME_RELEASE
|
|
fi
|
|
- exit ;;
|
|
+ ;;
|
|
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
|
|
- echo powerpc-be-beos
|
|
- exit ;;
|
|
+ GUESS=powerpc-be-beos
|
|
+ ;;
|
|
BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
|
|
- echo powerpc-apple-beos
|
|
- exit ;;
|
|
+ GUESS=powerpc-apple-beos
|
|
+ ;;
|
|
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
|
|
- echo i586-pc-beos
|
|
- exit ;;
|
|
+ GUESS=i586-pc-beos
|
|
+ ;;
|
|
BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
|
|
- echo i586-pc-haiku
|
|
- exit ;;
|
|
+ GUESS=i586-pc-haiku
|
|
+ ;;
|
|
x86_64:Haiku:*:*)
|
|
- echo x86_64-unknown-haiku
|
|
- exit ;;
|
|
+ GUESS=x86_64-unknown-haiku
|
|
+ ;;
|
|
SX-4:SUPER-UX:*:*)
|
|
- echo sx4-nec-superux"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=sx4-nec-superux$UNAME_RELEASE
|
|
+ ;;
|
|
SX-5:SUPER-UX:*:*)
|
|
- echo sx5-nec-superux"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=sx5-nec-superux$UNAME_RELEASE
|
|
+ ;;
|
|
SX-6:SUPER-UX:*:*)
|
|
- echo sx6-nec-superux"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=sx6-nec-superux$UNAME_RELEASE
|
|
+ ;;
|
|
SX-7:SUPER-UX:*:*)
|
|
- echo sx7-nec-superux"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=sx7-nec-superux$UNAME_RELEASE
|
|
+ ;;
|
|
SX-8:SUPER-UX:*:*)
|
|
- echo sx8-nec-superux"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=sx8-nec-superux$UNAME_RELEASE
|
|
+ ;;
|
|
SX-8R:SUPER-UX:*:*)
|
|
- echo sx8r-nec-superux"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=sx8r-nec-superux$UNAME_RELEASE
|
|
+ ;;
|
|
SX-ACE:SUPER-UX:*:*)
|
|
- echo sxace-nec-superux"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=sxace-nec-superux$UNAME_RELEASE
|
|
+ ;;
|
|
Power*:Rhapsody:*:*)
|
|
- echo powerpc-apple-rhapsody"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=powerpc-apple-rhapsody$UNAME_RELEASE
|
|
+ ;;
|
|
*:Rhapsody:*:*)
|
|
- echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE
|
|
+ ;;
|
|
+ arm64:Darwin:*:*)
|
|
+ GUESS=aarch64-apple-darwin$UNAME_RELEASE
|
|
+ ;;
|
|
*:Darwin:*:*)
|
|
- UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
|
|
- eval "$set_cc_for_build"
|
|
- if test "$UNAME_PROCESSOR" = unknown ; then
|
|
- UNAME_PROCESSOR=powerpc
|
|
+ UNAME_PROCESSOR=`uname -p`
|
|
+ case $UNAME_PROCESSOR in
|
|
+ unknown) UNAME_PROCESSOR=powerpc ;;
|
|
+ esac
|
|
+ if command -v xcode-select > /dev/null 2> /dev/null && \
|
|
+ ! xcode-select --print-path > /dev/null 2> /dev/null ; then
|
|
+ # Avoid executing cc if there is no toolchain installed as
|
|
+ # cc will be a stub that puts up a graphical alert
|
|
+ # prompting the user to install developer tools.
|
|
+ CC_FOR_BUILD=no_compiler_found
|
|
+ else
|
|
+ set_cc_for_build
|
|
fi
|
|
- if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then
|
|
- if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
|
|
- if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
|
|
- (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
|
|
- grep IS_64BIT_ARCH >/dev/null
|
|
- then
|
|
- case $UNAME_PROCESSOR in
|
|
- i386) UNAME_PROCESSOR=x86_64 ;;
|
|
- powerpc) UNAME_PROCESSOR=powerpc64 ;;
|
|
- esac
|
|
- fi
|
|
- # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
|
|
- if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
|
|
- (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
|
|
- grep IS_PPC >/dev/null
|
|
- then
|
|
- UNAME_PROCESSOR=powerpc
|
|
- fi
|
|
+ if test "$CC_FOR_BUILD" != no_compiler_found; then
|
|
+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
|
|
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
|
|
+ grep IS_64BIT_ARCH >/dev/null
|
|
+ then
|
|
+ case $UNAME_PROCESSOR in
|
|
+ i386) UNAME_PROCESSOR=x86_64 ;;
|
|
+ powerpc) UNAME_PROCESSOR=powerpc64 ;;
|
|
+ esac
|
|
+ fi
|
|
+ # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
|
|
+ if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
|
|
+ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
|
|
+ grep IS_PPC >/dev/null
|
|
+ then
|
|
+ UNAME_PROCESSOR=powerpc
|
|
fi
|
|
elif test "$UNAME_PROCESSOR" = i386 ; then
|
|
- # Avoid executing cc on OS X 10.9, as it ships with a stub
|
|
- # that puts up a graphical alert prompting to install
|
|
- # developer tools. Any system running Mac OS X 10.7 or
|
|
- # later (Darwin 11 and later) is required to have a 64-bit
|
|
- # processor. This is not true of the ARM version of Darwin
|
|
- # that Apple uses in portable devices.
|
|
- UNAME_PROCESSOR=x86_64
|
|
+ # uname -m returns i386 or x86_64
|
|
+ UNAME_PROCESSOR=$UNAME_MACHINE
|
|
fi
|
|
- echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE
|
|
+ ;;
|
|
*:procnto*:*:* | *:QNX:[0123456789]*:*)
|
|
UNAME_PROCESSOR=`uname -p`
|
|
if test "$UNAME_PROCESSOR" = x86; then
|
|
UNAME_PROCESSOR=i386
|
|
UNAME_MACHINE=pc
|
|
fi
|
|
- echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE
|
|
+ ;;
|
|
*:QNX:*:4*)
|
|
- echo i386-pc-qnx
|
|
- exit ;;
|
|
+ GUESS=i386-pc-qnx
|
|
+ ;;
|
|
NEO-*:NONSTOP_KERNEL:*:*)
|
|
- echo neo-tandem-nsk"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=neo-tandem-nsk$UNAME_RELEASE
|
|
+ ;;
|
|
NSE-*:NONSTOP_KERNEL:*:*)
|
|
- echo nse-tandem-nsk"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=nse-tandem-nsk$UNAME_RELEASE
|
|
+ ;;
|
|
NSR-*:NONSTOP_KERNEL:*:*)
|
|
- echo nsr-tandem-nsk"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=nsr-tandem-nsk$UNAME_RELEASE
|
|
+ ;;
|
|
NSV-*:NONSTOP_KERNEL:*:*)
|
|
- echo nsv-tandem-nsk"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=nsv-tandem-nsk$UNAME_RELEASE
|
|
+ ;;
|
|
NSX-*:NONSTOP_KERNEL:*:*)
|
|
- echo nsx-tandem-nsk"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=nsx-tandem-nsk$UNAME_RELEASE
|
|
+ ;;
|
|
*:NonStop-UX:*:*)
|
|
- echo mips-compaq-nonstopux
|
|
- exit ;;
|
|
+ GUESS=mips-compaq-nonstopux
|
|
+ ;;
|
|
BS2000:POSIX*:*:*)
|
|
- echo bs2000-siemens-sysv
|
|
- exit ;;
|
|
+ GUESS=bs2000-siemens-sysv
|
|
+ ;;
|
|
DS/*:UNIX_System_V:*:*)
|
|
- echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE
|
|
+ ;;
|
|
*:Plan9:*:*)
|
|
# "uname -m" is not consistent, so use $cputype instead. 386
|
|
# is converted to i386 for consistency with other x86
|
|
# operating systems.
|
|
- if test "$cputype" = 386; then
|
|
+ if test "${cputype-}" = 386; then
|
|
UNAME_MACHINE=i386
|
|
- else
|
|
- UNAME_MACHINE="$cputype"
|
|
+ elif test "x${cputype-}" != x; then
|
|
+ UNAME_MACHINE=$cputype
|
|
fi
|
|
- echo "$UNAME_MACHINE"-unknown-plan9
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-unknown-plan9
|
|
+ ;;
|
|
*:TOPS-10:*:*)
|
|
- echo pdp10-unknown-tops10
|
|
- exit ;;
|
|
+ GUESS=pdp10-unknown-tops10
|
|
+ ;;
|
|
*:TENEX:*:*)
|
|
- echo pdp10-unknown-tenex
|
|
- exit ;;
|
|
+ GUESS=pdp10-unknown-tenex
|
|
+ ;;
|
|
KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
|
|
- echo pdp10-dec-tops20
|
|
- exit ;;
|
|
+ GUESS=pdp10-dec-tops20
|
|
+ ;;
|
|
XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
|
|
- echo pdp10-xkl-tops20
|
|
- exit ;;
|
|
+ GUESS=pdp10-xkl-tops20
|
|
+ ;;
|
|
*:TOPS-20:*:*)
|
|
- echo pdp10-unknown-tops20
|
|
- exit ;;
|
|
+ GUESS=pdp10-unknown-tops20
|
|
+ ;;
|
|
*:ITS:*:*)
|
|
- echo pdp10-unknown-its
|
|
- exit ;;
|
|
+ GUESS=pdp10-unknown-its
|
|
+ ;;
|
|
SEI:*:*:SEIUX)
|
|
- echo mips-sei-seiux"$UNAME_RELEASE"
|
|
- exit ;;
|
|
+ GUESS=mips-sei-seiux$UNAME_RELEASE
|
|
+ ;;
|
|
*:DragonFly:*:*)
|
|
- echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
|
|
- exit ;;
|
|
+ DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
|
|
+ GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL
|
|
+ ;;
|
|
*:*VMS:*:*)
|
|
UNAME_MACHINE=`(uname -p) 2>/dev/null`
|
|
- case "$UNAME_MACHINE" in
|
|
- A*) echo alpha-dec-vms ; exit ;;
|
|
- I*) echo ia64-dec-vms ; exit ;;
|
|
- V*) echo vax-dec-vms ; exit ;;
|
|
+ case $UNAME_MACHINE in
|
|
+ A*) GUESS=alpha-dec-vms ;;
|
|
+ I*) GUESS=ia64-dec-vms ;;
|
|
+ V*) GUESS=vax-dec-vms ;;
|
|
esac ;;
|
|
*:XENIX:*:SysV)
|
|
- echo i386-pc-xenix
|
|
- exit ;;
|
|
+ GUESS=i386-pc-xenix
|
|
+ ;;
|
|
i*86:skyos:*:*)
|
|
- echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`"
|
|
- exit ;;
|
|
+ SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`
|
|
+ GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL
|
|
+ ;;
|
|
i*86:rdos:*:*)
|
|
- echo "$UNAME_MACHINE"-pc-rdos
|
|
- exit ;;
|
|
- i*86:AROS:*:*)
|
|
- echo "$UNAME_MACHINE"-pc-aros
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-pc-rdos
|
|
+ ;;
|
|
+ i*86:Fiwix:*:*)
|
|
+ GUESS=$UNAME_MACHINE-pc-fiwix
|
|
+ ;;
|
|
+ *:AROS:*:*)
|
|
+ GUESS=$UNAME_MACHINE-unknown-aros
|
|
+ ;;
|
|
x86_64:VMkernel:*:*)
|
|
- echo "$UNAME_MACHINE"-unknown-esx
|
|
- exit ;;
|
|
+ GUESS=$UNAME_MACHINE-unknown-esx
|
|
+ ;;
|
|
amd64:Isilon\ OneFS:*:*)
|
|
- echo x86_64-unknown-onefs
|
|
- exit ;;
|
|
+ GUESS=x86_64-unknown-onefs
|
|
+ ;;
|
|
+ *:Unleashed:*:*)
|
|
+ GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE
|
|
+ ;;
|
|
esac
|
|
|
|
+# Do we have a guess based on uname results?
|
|
+if test "x$GUESS" != x; then
|
|
+ echo "$GUESS"
|
|
+ exit
|
|
+fi
|
|
+
|
|
+# No uname command or uname output not recognized.
|
|
+set_cc_for_build
|
|
+cat > "$dummy.c" <<EOF
|
|
+#ifdef _SEQUENT_
|
|
+#include <sys/types.h>
|
|
+#include <sys/utsname.h>
|
|
+#endif
|
|
+#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
|
|
+#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
|
|
+#include <signal.h>
|
|
+#if defined(_SIZE_T_) || defined(SIGLOST)
|
|
+#include <sys/utsname.h>
|
|
+#endif
|
|
+#endif
|
|
+#endif
|
|
+main ()
|
|
+{
|
|
+#if defined (sony)
|
|