Page MenuHomePhabricator

D6342.id20867.diff
No OneTemporary

D6342.id20867.diff

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 <sys/select.h>
- 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 <cstddef>
#include <cstdint>
-#if defined(HAVE_SYS_SELECT_H)
-#include <sys/select.h>
-#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 <cstddef>
-#if defined(HAVE_SYS_SELECT_H)
-#include <sys/select.h>
-#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

File Metadata

Mime Type
text/plain
Expires
Sat, Apr 26, 10:35 (3 h, 20 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5571891
Default Alt Text
D6342.id20867.diff (4 KB)

Event Timeline