Skip to content

Conversation

vasild
Copy link
Contributor

@vasild vasild commented Oct 12, 2020

Don't export in6addr_loopback because that upsets
contrib/devtools/symbol-check.py

Fixes #20127

Don't export `in6addr_loopback` because that upsets
`contrib/devtools/symbol-check.py`

Fixes bitcoin#20127
@vasild
Copy link
Contributor Author

vasild commented Oct 12, 2020

Either the patch in this PR or the following should fix the problem (as mentioned in #20127 (comment)):

diff --git i/contrib/devtools/symbol-check.py w/contrib/devtools/symbol-check.py
index 6949cb7ce..5178ac0d4 100755
--- i/contrib/devtools/symbol-check.py
+++ w/contrib/devtools/symbol-check.py
@@ -45,13 +45,13 @@ MAX_VERSIONS = {
 # See here for a description of _IO_stdin_used:
 # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=634261#109
 
 # Ignore symbols that are exported as part of every executable
 IGNORE_EXPORTS = {
 '_edata', '_end', '__end__', '_init', '__bss_start', '__bss_start__', '_bss_end__', '__bss_end__', '_fini', '_IO_stdin_used', 'stdin', 'stdout', 'stderr',
-'environ', '_environ', '__environ',
+'environ', '_environ', '__environ', 'in6addr_loopback',
 }
 READELF_CMD = os.getenv('READELF', '/usr/bin/readelf')
 CPPFILT_CMD = os.getenv('CPPFILT', '/usr/bin/c++filt')
 OBJDUMP_CMD = os.getenv('OBJDUMP', '/usr/bin/objdump')
 OTOOL_CMD = os.getenv('OTOOL', '/usr/bin/otool')
 

@laanwj
Copy link
Member

laanwj commented Oct 12, 2020

Concept ACK, but I do wonder, why do we run the symbol check on the unit tests?

Edit: oh I guess because they are shipped in the binary release. Never mind.

@sipa
Copy link
Member

sipa commented Oct 13, 2020

utACK 8e4d622

Copy link
Member

@hebasto hebasto left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK 8e4d622

https://www.man7.org/linux/man-pages/man7/ipv6.7.html:

   The IPv6 loopback address (::1) is available in the global
   in6addr_loopback variable.  For initializations,
   IN6ADDR_LOOPBACK_INIT should be used.

@maflcko maflcko added this to the 0.21.0 milestone Oct 13, 2020
@maflcko maflcko added the Tests label Oct 13, 2020
@DrahtBot
Copy link
Contributor

Guix builds

File commit af22322
(master)
commit e82cef0
(master and this pull)
*.tar.gz 49fc39677cb83da9... d7e014362b8312f9...
guix_build.log 6d43f784f30e747e... c9397f32d58f316b...
*-aarch64-linux-gnu-debug.tar.gz bfdd6993eeca8963...
*-aarch64-linux-gnu.tar.gz a7576f72780a2064...
*-arm-linux-gnueabihf-debug.tar.gz 9dfc741bea1728b1...
*-arm-linux-gnueabihf.tar.gz 05adddab86580262...
*-riscv64-linux-gnu-debug.tar.gz 8c52e23b19642e5b...
*-riscv64-linux-gnu.tar.gz 7995fd095c2b57e3...
*-win-unsigned.tar.gz 6b381a43bea0cd4d...
*-win64-debug.zip 9e4a0e6d95b56a13...
*-win64-setup-unsigned.exe d825f54d38a61551...
*-win64.zip 4867268f0470e3e5...
*-x86_64-linux-gnu-debug.tar.gz 0e82db708fa671ae...
*-x86_64-linux-gnu.tar.gz ff5ba842d9d9a811...
guix_build.log.diff f34a36588b25dbc2...

@DrahtBot
Copy link
Contributor

Gitian builds

File commit f79a4a8
(master)
commit 63e4444
(master and this pull)
bitcoin-core-osx-0.21-res.yml 3eda2a7abad38ea5... 52b8342b13f2c1f9...
bitcoin-core-win-0.21-res.yml 9e60f138c574df1b... 0a1f2598a4409070...
*-osx-unsigned.dmg 0d00d9335ca475a6... f4dd7f8bd0d7fea2...
*-osx64.tar.gz e19b41b6fcdeaacf... 0de5ffb4d28e5462...
*-win64-debug.zip 2cf56803736361f5... 0a7ffdbd8daa9728...
*-win64-setup-unsigned.exe 03956c76f192e191... 23198680270fbaaa...
*-win64.zip eefd31964e1a8826... 7b3b8a00518091e2...
*.tar.gz edbc26df00891dbb... 851a782955e9282b...
linux-build.log d0867141a78ed8f0... f1c8b400e9fbf769...
osx-build.log 0c4e440f2871528d... bc6238c39ebe4666...
win-build.log b0a0df35e46cca96... 3317f30918c5c0c7...
*-aarch64-linux-gnu-debug.tar.gz 1f1432ebe7d3c4c8...
*-aarch64-linux-gnu.tar.gz 30bfbe93d50c5a91...
*-arm-linux-gnueabihf-debug.tar.gz 4916f9c1c9d3964f...
*-arm-linux-gnueabihf.tar.gz c4b24e7aba77b53f...
*-riscv64-linux-gnu-debug.tar.gz 223eb1550a5bb1e7...
*-riscv64-linux-gnu.tar.gz 1acac0e837649b01...
*-x86_64-linux-gnu-debug.tar.gz 3b9776164eba425c...
*-x86_64-linux-gnu.tar.gz 5b4dd9fca4f63f01...
bitcoin-core-linux-0.21-res.yml dbba7bd8a5a61928...
bitcoin-core-osx-0.21-res.yml.diff b7eb2f4715bec52f...
bitcoin-core-win-0.21-res.yml.diff fbfdbe663077949e...
linux-build.log.diff 30d866a0f9487ad9...
osx-build.log.diff b27f9c41ffbe79ff...
win-build.log.diff e2bdbb7238fa1acc...

@maflcko maflcko merged commit 3750f66 into bitcoin:master Oct 14, 2020
@vasild vasild deleted the fix_export_of_in6addr_loopback branch October 14, 2020 10:25
Fabcien pushed a commit to Bitcoin-ABC/bitcoin-abc that referenced this pull request Feb 11, 2021
Summary:
```
Change the serialization of `CAddrMan` to serialize its addresses
in ADDRv2/BIP155 format by default. Introduce a new `CAddrMan` format
version (3).

Add support for ADDRv2 format in `CAddress` (un)serialization.
```

Partial backport (2/4) of core [[bitcoin/bitcoin#19954 | PR19954]]:
bitcoin/bitcoin@201a459

Includes a fix for the symbol check that would cause the gitian build to
fail:
Backport of core [[bitcoin/bitcoin#20129 | PR20129]].
and a fix for a mismatch initialization order in the `CAddress` class
(reversal of `nTime` and `nServices` to match core).

Depends on D9190 and D9198.

Test Plan:
  ninja all check-all

Run the Linux Gitian build.

Reviewers: #bitcoin_abc, majcosta

Reviewed By: #bitcoin_abc, majcosta

Differential Revision: https://reviews.bitcoinabc.org/D9199
UdjinM6 pushed a commit to UdjinM6/dash that referenced this pull request Aug 30, 2021
8e4d622 tests: don't export in6addr_loopback (Vasil Dimov)

Pull request description:

  Don't export `in6addr_loopback` because that upsets
  `contrib/devtools/symbol-check.py`

  Fixes bitcoin#20127

ACKs for top commit:
  sipa:
    utACK 8e4d622
  hebasto:
    ACK 8e4d622

Tree-SHA512: 216ffb53df55d2888317a81d18745308aaf93a3f3b45aa778166f7c91edb9741c28424d6333b35cefb5ece42b74e20ea21c761d93d8432798e7ec12097c2758f
UdjinM6 pushed a commit to UdjinM6/dash that referenced this pull request Sep 7, 2021
8e4d622 tests: don't export in6addr_loopback (Vasil Dimov)

Pull request description:

  Don't export `in6addr_loopback` because that upsets
  `contrib/devtools/symbol-check.py`

  Fixes bitcoin#20127

ACKs for top commit:
  sipa:
    utACK 8e4d622
  hebasto:
    ACK 8e4d622

Tree-SHA512: 216ffb53df55d2888317a81d18745308aaf93a3f3b45aa778166f7c91edb9741c28424d6333b35cefb5ece42b74e20ea21c761d93d8432798e7ec12097c2758f
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Feb 15, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Gitian build is broken after #19954
7 participants