Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F13711138
D6342.id20867.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
4 KB
Subscribers
None
D6342.id20867.diff
View Options
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
Details
Attached
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)
Attached To
D6342: Remove fdelt_chk back-compat code and sanity check
Event Timeline
Log In to Comment