compat: remove memcpy -> memmove backwards compatibility alias #21405

pull fanquake wants to merge 1 commits into bitcoin:master from fanquake:remove_memcpy_back_compat changing 6 files +1 −56
  1. fanquake commented at 9:49 am on March 10, 2021: member

    In glib 2.13 memcpy was changed such that the way it copied bytes was reversed. This caused all sorts of issues for existing software, which depended on the existing behavior (when they should have been using memmove). See: https://sourceware.org/bugzilla/show_bug.cgi?id=12518 https://bugzilla.redhat.com/show_bug.cgi?id=638477

    Now that we require glibc 2.17+ (#17538), we should be well clear of having to maintain our memcpy -> memmove aliasing, which was introduced in #4339.

    Gitian builds:

     0# Linux:
     152dee59c8c7d5620ac9b140b79fcaf3d2f15a219293140190f9283ba871f5391  bitcoin-52f0be3a9332-aarch64-linux-gnu-debug.tar.gz
     28963473b8791c5c6033a992d7dd761832fe1fb5732be790a6e9f8c11d67ad8ae  bitcoin-52f0be3a9332-aarch64-linux-gnu.tar.gz
     31fb3365c1ef60ecd1eb2d18f671f8f1e8cde0585de7de74aa0c5121093100c26  bitcoin-52f0be3a9332-arm-linux-gnueabihf-debug.tar.gz
     4305c5b032d51ba97459715211112204a09d119edd6ec2a12b796559ad3fde761  bitcoin-52f0be3a9332-arm-linux-gnueabihf.tar.gz
     51f950a3e3979a4e1a67696b3fddc3090a0489a43b49e2b58a348d4b02ada2aa8  bitcoin-52f0be3a9332-powerpc64-linux-gnu-debug.tar.gz
     60b9731dba768b30c91dadec4cd7a98c86e06fbf6354555f798b46b7c4fab7b5f  bitcoin-52f0be3a9332-powerpc64-linux-gnu.tar.gz
     7c4a37aae56cc023964f8d9e82d1b66913079cab559cbfc1c9127969aa968a06f  bitcoin-52f0be3a9332-powerpc64le-linux-gnu-debug.tar.gz
     8dfbaa4f3bf12988a0a7f82c4b10162e5e7a63382a7e29d0170bc32ce344c97c3  bitcoin-52f0be3a9332-powerpc64le-linux-gnu.tar.gz
     93a0280d2c06516e50b0841d6f42d9589355dc9a1f8bb9a0b123554cd91b08004  bitcoin-52f0be3a9332-riscv64-linux-gnu-debug.tar.gz
    10cc199a0f254b2366e80a6a884120ec3ea442983990ba1a5eb993c36060686eba  bitcoin-52f0be3a9332-riscv64-linux-gnu.tar.gz
    11eb8e7ca673cc06c167ab082fe457a41f73758ecd5b34941300e3cd378c29b197  bitcoin-52f0be3a9332-x86_64-linux-gnu-debug.tar.gz
    12dad19226c0e4c54b78ca2fa85fc28c5bfd1e1178e3f765472bd2f895a1d57145  bitcoin-52f0be3a9332-x86_64-linux-gnu.tar.gz
    13ef89be95b84bb7c6fef055634cd20caf2fa5b42441502918dbfbf758bb2daab6  src/bitcoin-52f0be3a9332.tar.gz
    14dc61f5ca33330c1609bc56b23f39fef3c1ff5ec6a1799d5b7a18f3c3b3acc9f9  bitcoin-core-linux-22-res.yml
    

    Guix builds:

     0b50d6399cb59e5e4a9247b12a3eda61de6e51bd87ef1f27b388b75b71dfccf92  output/bitcoin-52f0be3a9332-aarch64-linux-gnu-debug.tar.gz
     123d845dc13e60a581ebdfbaa6063f559a56cce06734e1b50790d2fc13e257793  output/bitcoin-52f0be3a9332-aarch64-linux-gnu.tar.gz
     279094406fe00939bbce17a6d65de5a2686625e871432350c69e674cc80b1491c  output/bitcoin-52f0be3a9332-arm-linux-gnueabihf-debug.tar.gz
     365a91913249a743015eceea5a56c497d606af17270cb7e8a3df10cf729b757ec  output/bitcoin-52f0be3a9332-arm-linux-gnueabihf.tar.gz
     45e75ca5e8cf6934ba5a5a1b4d26c1b361b118e10ef34b73845d038035ddb9b85  output/bitcoin-52f0be3a9332-osx-unsigned.dmg
     5774b372696cde8ceab40f6909dadea3fc87b375b495fcfb4ee8a963afd7fbd3a  output/bitcoin-52f0be3a9332-osx-unsigned.tar.gz
     6dc4bdfb7b32dcc0b6e876d6d7ab3cb8d1472f21f66546ab70515f96262292e21  output/bitcoin-52f0be3a9332-osx64.tar.gz
     7ea178ff9e28439f80129445cf260215c74eea2e610f62ff045061f287675d3ff  output/bitcoin-52f0be3a9332-powerpc64-linux-gnu-debug.tar.gz
     80390687a7aaa3f0a8a78be2deab21116599e5b332f00a2d1fdce97a5bd30e3eb  output/bitcoin-52f0be3a9332-powerpc64-linux-gnu.tar.gz
     952c948719a27f252f5969558abc2718c1e365ea85496322cb4ec97eab8a234cc  output/bitcoin-52f0be3a9332-powerpc64le-linux-gnu-debug.tar.gz
    105a4a8748dffe7e6a5bd07f3f564b1f2052440c4199fe25aaa41675bfb69e61db  output/bitcoin-52f0be3a9332-powerpc64le-linux-gnu.tar.gz
    11ba521bd2b4e73aea317821a9e08da9a326c0be3b38d923b35ba14bc68ee6c814  output/bitcoin-52f0be3a9332-riscv64-linux-gnu-debug.tar.gz
    12783ea81ab2f6b642b13ebf7882aa822d12f95936574a8848a74b1b8978e6801d  output/bitcoin-52f0be3a9332-riscv64-linux-gnu.tar.gz
    13376706fc12e58d7d559a87e1ce64be22eaac3fc32d95c60d603ad893d9128cc1  output/bitcoin-52f0be3a9332-win-unsigned.tar.gz
    147aa48242fb71e29b00992b2be8677f1ea49f2ca82c5355bf0c1d4c8d14635596  output/bitcoin-52f0be3a9332-win64-debug.zip
    1541e6461ab573fa8f6ac0f198193e72a4a047bb7a4193f743b937e81739c929cc  output/bitcoin-52f0be3a9332-win64-setup-unsigned.exe
    16e2c4ecb05f24577da12f722d848bf6ac89f3f549d6d2bfd30d65676099c0725b  output/bitcoin-52f0be3a9332-win64.zip
    1760ed63b3b562fa2141f18f1556a03c2474b75797088cd68fdb3e7d057a6983a3  output/bitcoin-52f0be3a9332-x86_64-linux-gnu-debug.tar.gz
    18adb0bb62dc8b99d025a863e921b8e670f4c8f4b5600cd6d79eb552ede10bc8b8  output/bitcoin-52f0be3a9332-x86_64-linux-gnu.tar.gz
    19ef89be95b84bb7c6fef055634cd20caf2fa5b42441502918dbfbf758bb2daab6  output/src/bitcoin-52f0be3a9332.tar.gz
    
  2. compat: remove memcpy -> memmove backwards compatibility alias
    In glib 2.13 memcpy was changed such that the way it copied bytes was reversed.
    This caused all sorts of issues for existing software, which depended on the
    existing behavior (when they should have been using memmove). See:
    https://sourceware.org/bugzilla/show_bug.cgi?id=12518
    https://bugzilla.redhat.com/show_bug.cgi?id=638477
    
    Now that we require glibc 2.17+ (#17538), we should be well clear of having to
    maintain our memcpy ->  memmove aliasing, which was introduced in #4339.
    52f0be3a93
  3. fanquake added the label Utils/log/libs on Mar 10, 2021
  4. fanquake added the label Needs gitian build on Mar 10, 2021
  5. fanquake added the label Needs Guix build on Mar 10, 2021
  6. laanwj commented at 1:15 pm on March 11, 2021: member
    Nice to see this somewhat scary code go if it is no longer needed. Concept and code review ACK 52f0be3a933225429b9b59b58de4fe54c2b20a02
  7. DrahtBot commented at 3:13 pm on March 11, 2021: member

    Guix builds

    File commit 63314b8211d795b2bf0814e244d801e74f50b152(master) commit a5f829a30485397308a18943a1bdd394c4db04be(master and this pull)
    *-aarch64-linux-gnu-debug.tar.gz 60c5d4ae1427a954... 2680a10156107c7b...
    *-aarch64-linux-gnu.tar.gz 507388fb47e9c889... 8725fefc1272e27c...
    *-arm-linux-gnueabihf-debug.tar.gz 1ea442af8276e5ed... 33686d38c897471a...
    *-arm-linux-gnueabihf.tar.gz 2d9f0c366c99dd1e... 58a6b12783d182c1...
    *-osx-unsigned.dmg c5c9f187eb3f1705... ba5cf087b0242d9f...
    *-osx-unsigned.tar.gz 1fd0cb77f223304a... e26f18a2601cee29...
    *-osx64.tar.gz a036b6383b0c6128... 4a2fb22cc7c37b9a...
    *-powerpc64-linux-gnu-debug.tar.gz 2c19fe345ce56941... d691b0dea2038853...
    *-powerpc64-linux-gnu.tar.gz bdad1c78adb4a32a... 75c5b497c1b30582...
    *-powerpc64le-linux-gnu-debug.tar.gz fbbf4bad13897d19... 0b8ea37850cb40c9...
    *-powerpc64le-linux-gnu.tar.gz 458e20cf0dd2cb5c... 858ff88b16de227d...
    *-riscv64-linux-gnu-debug.tar.gz 7cc537cc3f7b5c84... 5a80498f21e3f728...
    *-riscv64-linux-gnu.tar.gz e7f2fc00a79170d1... 51b85fceeb0cd1ea...
    *-win-unsigned.tar.gz bc48c504074e3a61... 41511b9b1995d261...
    *-win64-debug.zip 7c0aac5080e4e462... d78f202519aa4276...
    *-win64-setup-unsigned.exe 90ae5c8e635f23a5... cf6a37ad5dd397a9...
    *-win64.zip 6a8ac3fc3832a2dd... 6be5bacc52f474a1...
    *-x86_64-linux-gnu-debug.tar.gz 78217e1333edc2f1... 8f5fcd888458fb44...
    *-x86_64-linux-gnu.tar.gz 4fbe67c455f114b3... 76d213529f7a2983...
    *.tar.gz 21f09f1dc4714143... cc6ad43ef4a6ff37...
    guix_build.log 2f6cfe5c483712d1... 67260ce84817ca58...
    guix_build.log.diff 964f3a2516d27679...
  8. DrahtBot removed the label Needs Guix build on Mar 11, 2021
  9. laanwj merged this on Mar 16, 2021
  10. laanwj closed this on Mar 16, 2021

  11. fanquake deleted the branch on Mar 16, 2021
  12. fanquake removed the label Needs gitian build on Mar 16, 2021
  13. sidhujag referenced this in commit e2b9b0c2f0 on Mar 16, 2021
  14. kittywhiskers referenced this in commit b556d68595 on Jun 22, 2022
  15. kittywhiskers referenced this in commit 94786b9f75 on Jul 1, 2022
  16. UdjinM6 referenced this in commit ef8cf4bfea on Jul 2, 2022
  17. DrahtBot locked this on Aug 18, 2022

github-metadata-mirror

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

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