diff --git a/configure.ac b/configure.ac --- a/configure.ac +++ b/configure.ac @@ -712,20 +712,6 @@ AX_GCC_FUNC_ATTRIBUTE([dllimport]) if test x$use_glibc_compat != xno; then - - #__fdelt_chk's params and return type have changed from long unsigned int to long int. - # See which one is present here. - AC_MSG_CHECKING(__fdelt_chk type) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#ifdef _FORTIFY_SOURCE - #undef _FORTIFY_SOURCE - #endif - #define _FORTIFY_SOURCE 2 - #include - extern "C" long unsigned int __fdelt_warn(long unsigned int);]],[[]])], - [ fdelt_type="long unsigned int"], - [ fdelt_type="long int"]) - AC_MSG_RESULT($fdelt_type) - AC_DEFINE_UNQUOTED(FDELT_TYPE, $fdelt_type,[parameter and return value type for __fdelt_chk]) AX_CHECK_LINK_FLAG([[-Wl,--wrap=__divmoddi4]], [COMPAT_LDFLAGS="$COMPAT_LDFLAGS -Wl,--wrap=__divmoddi4"]) AX_CHECK_LINK_FLAG([[-Wl,--wrap=log2f]], [COMPAT_LDFLAGS="$COMPAT_LDFLAGS -Wl,--wrap=log2f"]) if test x$need_wrap_fcntl = xyes; then diff --git a/src/compat/glibc_compat.cpp b/src/compat/glibc_compat.cpp --- a/src/compat/glibc_compat.cpp +++ b/src/compat/glibc_compat.cpp @@ -10,24 +10,12 @@ #include #include -#if defined(HAVE_SYS_SELECT_H) -#include -#endif - // Prior to GLIBC_2.14, memcpy was aliased to memmove. extern "C" void *memmove(void *a, const void *b, size_t c); extern "C" void *memcpy(void *a, const void *b, size_t c) { return memmove(a, b, c); } -extern "C" void __chk_fail(void) __attribute__((__noreturn__)); -extern "C" FDELT_TYPE __fdelt_warn(FDELT_TYPE a) { - if (a >= FD_SETSIZE) __chk_fail(); - return a / __NFDBITS; -} -extern "C" FDELT_TYPE __fdelt_chk(FDELT_TYPE) - __attribute__((weak, alias("__fdelt_warn"))); - #if defined(__i386__) || defined(__arm__) extern "C" int64_t __udivmoddi4(uint64_t u, uint64_t v, uint64_t *rp); diff --git a/src/compat/glibc_sanity.cpp b/src/compat/glibc_sanity.cpp --- a/src/compat/glibc_sanity.cpp +++ b/src/compat/glibc_sanity.cpp @@ -1,4 +1,4 @@ -// Copyright (c) 2009-2014 The Bitcoin Core developers +// Copyright (c) 2009-2019 The Bitcoin Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -8,10 +8,6 @@ #include -#if defined(HAVE_SYS_SELECT_H) -#include -#endif - extern "C" void *memcpy(void *a, const void *b, size_t c); void *memcpy_int(void *a, const void *b, size_t c) { return memcpy(a, b, c); @@ -39,27 +35,8 @@ } return true; } - -#if defined(HAVE_SYS_SELECT_H) -// trigger: Call FD_SET to trigger __fdelt_chk. FORTIFY_SOURCE must be defined -// as >0 and optimizations must be set to at least -O2. -// test: Add a file descriptor to an empty fd_set. Verify that it has been -// correctly added. -bool sanity_test_fdelt() { - fd_set fds; - FD_ZERO(&fds); - FD_SET(0, &fds); - return FD_ISSET(0, &fds); -} -#endif - } // namespace bool glibc_sanity_test() { -#if defined(HAVE_SYS_SELECT_H) - if (!sanity_test_fdelt()) { - return false; - } -#endif return sanity_test_memcpy<1025>(); } diff --git a/src/config/CMakeLists.txt b/src/config/CMakeLists.txt --- a/src/config/CMakeLists.txt +++ b/src/config/CMakeLists.txt @@ -192,20 +192,6 @@ # and always succeed to build. set(CMAKE_REQUIRED_FLAGS -O2) -check_prototype_definition( - __fdelt_warn - "extern long unsigned int __fdelt_warn(long unsigned int a)" - "0" - "sys/select.h" - FDELT_PROTOTYPE_LONG_UNSIGNED_INT -) - -if(FDELT_PROTOTYPE_LONG_UNSIGNED_INT) - set(FDELT_TYPE "long unsigned int") -else() - set(FDELT_TYPE "long int") -endif() - # Activate wallet set(ENABLE_WALLET ${BUILD_BITCOIN_WALLET}) diff --git a/src/config/bitcoin-config.h.cmake.in b/src/config/bitcoin-config.h.cmake.in --- a/src/config/bitcoin-config.h.cmake.in +++ b/src/config/bitcoin-config.h.cmake.in @@ -66,8 +66,6 @@ #cmakedefine HAVE_FUNC_ATTRIBUTE_VISIBILITY 1 #cmakedefine HAVE_FUNC_ATTRIBUTE_DLLEXPORT 1 -#define FDELT_TYPE ${FDELT_TYPE} - #cmakedefine ENABLE_BIP70 1 #cmakedefine ENABLE_WALLET 1 #cmakedefine ENABLE_ZMQ 1