< roconnor>
I managed to rebuild my desktop with gcc 8. elichai2 let me know how it goes with clang. I'm worried a lot of packages won't build.
< roconnor>
luke-jr: real_or_random showed me a link to https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/builtins.c;h=eb662112b32e5ad377d2a865d9977c64dc12cc93;hb=eb662112b32e5ad377d2a865d9977c64dc12cc93#l539 earlier which looked horrifying because it looks like the bug might have affected it.
< roconnor>
and it is used in string_length, which is used in c_strlen, which is something that is possibly related to the bug itself.
< roconnor>
that all said, sipa seems to have noticed that memcmp being compared with 0 doesn't seem to tickle this bug.
< roconnor>
which explains to me how it is possible that not every single piece of software is broken.
< roconnor>
I expect memcmp is very often compared with 0.
< sipa>
having read the code: that's exactly it
< roconnor>
oh you understand the gcc code and the bug?
< sipa>
not the bug
< sipa>
but there is a flag passed to expand_builtin_memcmp for the case where the sign of the return value of memcmp doesn't matter (for == and != cases)
< roconnor>
But I think I want to try again with a bug patched version of gcc 10.
< roconnor>
luke-jr: in an ideal world the overly would just be gcc = self.gcc8. But unfortunately it isn't quite as easy as it should be. I need to switch gfortan which openblas uses, and this weird gccFun thing seems to be requires to build nix itself with gcc 8, etc.
< bitcoin-git>
[bitcoin] MarcoFalke opened pull request #20012: rpc: Remove duplicate name and argNames from CRPCCommand (master...2009-rpcCheckMapping) https://github.com/bitcoin/bitcoin/pull/20012
< elichai2>
roconnor: what distribution do you use? I'm with archlinux and I don't know how to even start with "rebuilding" almost everything is prebuilt, and the kernel itself is prebuilt+signed (for the whole EFI security stuff)
< elichai2>
roconnor: god that link looks terrifying
< achow101>
anyone around for the wallet meeting have something to discuss?
< fjahr>
Sort of but no topics and on the go
< achow101>
all i've got is that i'd like to shill for #19077
< gribble>
https://github.com/bitcoin/bitcoin/issues/19077 | wallet: Add sqlite as an alternative wallet database and use it for new descriptor wallets by achow101 · Pull Request #19077 · bitcoin/bitcoin · GitHub
< achow101>
i'll trade for reviews on that
< jonatack>
hi
< fjahr>
Yeah, already working on that :)
< jonatack>
Sorry, I missed the start. What would be the biggest wallet prios to try for before Oct 15 FF.
< jonatack>
ty achow101. WDYT, can we try for fjahr and sipa's coinstats work (unsure if this counts as wallet)?
< achow101>
jonatack: not wallet, but I can take a look
< luke-jr>
achow101: have you looked any into the PSBT side of the GCC bug?
< achow101>
luke-jr: nope
< achow101>
should I
< luke-jr>
not sure
< luke-jr>
it's only within deserialisation
< sipa>
luke-jr: my current thinking is that it is not affected
< luke-jr>
sipa: well, the fixed GCC is definitely producing different code
< sipa>
the code may have changed as a result of the bug fix, but that doesn't mean that in this case the old code was wrong
< sipa>
i'll look in more detail today
< achow101>
i would guess that std::map uses std::lexicographic_compare and that might be why it shows up
< luke-jr>
hmm
< achow101>
for std::vector<unsigned char> as the key
< achow101>
but that would only effect how things are stored by std::map internally, so I think that would be fine?
< sipa>
it could in theory mean things can't be found or so
< sipa>
actually, the keys never have a 0 byte in them, right?
< achow101>
they can
< sipa>
and those that do aren't from constants
< sipa>
e.g. a prefix + hash could have a 0 byte in the hash, but the hash is not a constant
< achow101>
there's a 0 type but i don't know if they would end up in the memcmp
< achow101>
I would expect no
< luke-jr>
could it ever have any security implications though?
< sipa>
achow101: the problem is that in some cases the memcmp "stops" at the first zero byte
< sipa>
so the null key in PSBT which is just a zero byte and nothing else would be unaffected
< achow101>
right
< bitcoin-git>
[bitcoin] dhruv opened pull request #20018: p2p: ProcessAddrFetch(-seednode) is unnecessary if -connect is specified (master...seednode-not-needed-with-connect) https://github.com/bitcoin/bitcoin/pull/20018
< bitcoin-git>
[bitcoin] dongcarl opened pull request #20019: depends: Properly pass $PATH to configure and pin (master...2020-09-resolve-PATH-prepending-madness) https://github.com/bitcoin/bitcoin/pull/20019