-
Notifications
You must be signed in to change notification settings - Fork 38.7k
build: Solve SmartOS FD_ZERO build issue #15146
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
333ede2 to
effb4fd
Compare
|
Concept ACK |
|
@theuni can you take a look please |
effb4fd to
68a8df0
Compare
|
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ConflictsNo conflicts as of last run. |
|
Concept ACK |
68a8df0 to
fd3e6e3
Compare
bd0bfed to
fa364d5
Compare
|
Made an effort to pare this down significantly. Now only one new file, and the necessity of the cstring include is determined in configure. |
0afb772 to
5a37824
Compare
5a37824 to
b86bb6f
Compare
SmartOS FD_ZERO is implemented in a way that requires an external declaration of memcpy. We can not simply include cstring in the existing file because sanity_test_memcpy is attempting to replace memcpy, but we can do so here, now that the fdelt test is split out.
b86bb6f to
b4fd0ca
Compare
|
@MarcoFalke realized that in attempting to rebase earlier I unintentionally overwrote my later implementation (#15146 (comment)) with the earlier. Restored the earlier implementation - would need gitian again. |
|
Code review an lightly tested (but not on SmartOS) ACK b4fd0ca |
|
Gitian builds for commit 5d2ccf0 (master): Gitian builds for commit bb4d0dd694e6a0847e4c2c40d8c554bd4be9c6b1 (master and this pull): |
|
Gitian builds for commit 8a503a6 (master): Gitian builds for commit 6ba19505d59dd0d06ea33a15daf7f86043c9f53a (master and this pull): |
b4fd0ca Include cstring for sanity_test_fdelt if required (Ben Woosley) 7fb886b [moveonly] Split glibc sanity_test_fdelt out (Ben Woosley) Pull request description: SmartOS FD_ZERO is implemented in a way that requires an external declaration of memcpy. We can not simply include cstring in the existing file because sanity_test_memcpy is attempting to replace memcpy. Instead split glibc_sanity into fdelt and memcpy files, and include <cstring> in glibc_sanity/fdelt.cpp. Fixes #13581, see also #13619 ACKs for top commit: laanwj: Code review an lightly tested (but not on SmartOS) ACK b4fd0ca Tree-SHA512: 231306da291ad9eca8ba91bea1e9c27b6c2e96e484d1602e1c2cf27761202f9287ce0bc19fefd000943d2b449d0e5929cd39e2f7e09cf930d89fa520228ccbec
b4fd0ca Include cstring for sanity_test_fdelt if required (Ben Woosley) 7fb886b [moveonly] Split glibc sanity_test_fdelt out (Ben Woosley) Pull request description: SmartOS FD_ZERO is implemented in a way that requires an external declaration of memcpy. We can not simply include cstring in the existing file because sanity_test_memcpy is attempting to replace memcpy. Instead split glibc_sanity into fdelt and memcpy files, and include <cstring> in glibc_sanity/fdelt.cpp. Fixes bitcoin#13581, see also bitcoin#13619 ACKs for top commit: laanwj: Code review an lightly tested (but not on SmartOS) ACK b4fd0ca Tree-SHA512: 231306da291ad9eca8ba91bea1e9c27b6c2e96e484d1602e1c2cf27761202f9287ce0bc19fefd000943d2b449d0e5929cd39e2f7e09cf930d89fa520228ccbec
Summary: ```The return type of fdelt_chk changed from unsigned long int to long int in glibc 2.16. See this commit. Now that we require glibc >=2.17 we can remove our back-compat code. [...] ``` Note: we require glibc >= 2.19 so this also applies to us. Backport of core [[bitcoin/bitcoin#15146 | PR15146]] and [[bitcoin/bitcoin#18862 | PR18862]]. [[bitcoin/bitcoin#15146 | PR15146]] fix an edge case from the sanity check which is totally removed by the second commit of [[bitcoin/bitcoin#18862 | PR18862]]. The diff is then mostly a backport of the first commit from [[bitcoin/bitcoin#18862 | PR18862]]: bitcoin/bitcoin@8bf1540 Test Plan: Run the gitian builds. Reviewers: #bitcoin_abc, deadalnix Reviewed By: #bitcoin_abc, deadalnix Differential Revision: https://reviews.bitcoinabc.org/D6342
SmartOS FD_ZERO is implemented in a way that requires
an external declaration of memcpy. We can not simply
include cstring in the existing file because
sanity_test_memcpy is attempting to replace memcpy.
Instead split glibc_sanity into fdelt and memcpy files,
and include in glibc_sanity/fdelt.cpp.
Fixes #13581, see also #13619