release: Checking binary compatibility #1136

issue real-or-random openend this issue on August 24, 2022
  1. real-or-random commented at 11:18 pm on August 24, 2022: contributor

    When looking into binary compatibility (see #1055, #964), I found this nice website which describes best practices and open source tools for checking binary compatibility: https://abi-laboratory.pro This may be something to look into after the first release (but maybe before the second release).

    See for example the report for Botan, which by the way doesn’t provide binary compatibility across versions at all.

  2. real-or-random renamed this:
    Checking binary compatibility
    release: Checking binary compatibility
    on Dec 12, 2022
  3. real-or-random added this to the milestone stable release (1.0.0-rc.1) on Dec 12, 2022
  4. hebasto commented at 11:44 am on April 15, 2023: member

    FWIW, here is what I’ve got for the recent releases:

    UPD. For 0.3.0 –> 0.3.1:

    • “The parameter tweak32 became passed in rbp register instead of r13.” in secp256k1_ec_seckey_tweak_add () is caused by the 4a496a36fb07d6cc8c99e591994f4ce0c3b1174c commit from #1257.
    • “The parameter seckey became passed in rbx register instead of rbp.” in secp256k1_ec_seckey_tweak_mul() can be avoided if compiled with -fno-omit-frame-pointer.
  5. hebasto cross-referenced this on Apr 15, 2023 from issue release: Prepare for 0.3.1 by real-or-random
  6. sipa commented at 3:28 pm on April 15, 2023: contributor
    @hebasto I don’t understand how that commit can have any effect on the public ABI.
  7. hebasto commented at 3:30 pm on April 15, 2023: member

    @hebasto I don’t understand how that commit can have any effect on the public ABI.

    Neither do I. That was reported by the tool. Maybe a false positive report?

  8. sipa commented at 7:40 pm on April 15, 2023: contributor
    In fact, both claimed versions sound incorrect. The third (tweak32) argument on x86_64 calling convention should be passed in the rdx register.
  9. hebasto commented at 9:36 pm on April 15, 2023: member
  10. real-or-random commented at 7:23 am on April 17, 2023: contributor

    Interestingly, the dumps generated with gcc 10 don’t have any “Reg”(ister) entries in their json file, whereas the dumps generated with gcc 11 list registers for some arguments…

    Maybe open an issue with the tool?

  11. hebasto commented at 2:04 pm on July 18, 2023: member

    Interestingly, the dumps generated with gcc 10 don’t have any “Reg”(ister) entries in their json file, whereas the dumps generated with gcc 11 list registers for some arguments…

    Maybe open an issue with the tool?

    The issue has been solved by forcing DWARF v4.

  12. hebasto cross-referenced this on Jul 18, 2023 from issue Add ABI checking tool for release process by hebasto
  13. jonasnick closed this on Dec 20, 2023


real-or-random hebasto sipa

Milestone
stable release (1.0.0-rc.1)


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin-core/secp256k1. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-12-22 10:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me