GNU social JP
  • FAQ
  • Login
GNU social JPは日本のGNU socialサーバーです。
Usage/ToS/admin/test/Pleroma FE
  • Public

    • Public
    • Network
    • Groups
    • Featured
    • Popular
    • People

Embed Notice

HTML Code

Corresponding Notice

  1. Embed this notice
    anna (navi@social.vlhl.dev)'s status on Thursday, 17-Jul-2025 02:27:16 JSTannaanna
    in reply to
    • anna

    one key takeway i had from this soname / abi != package-version / api is that adding fields to structures shouldn’t be a thing to worry about that much, removing them yes, adding, reordering, etc, no

    libraries shouldn’t keep their data “obscured” behind a malloc-d pointer just for the sake of binary compatibility. there is other reasons for opaque pointers, but more often than not, a library will be better by letting users choose where to allocate data, be it on the stack or on the heap or statically or so on

    and if you worry about people accessing fields they shouldn’t, c23 provides [[deprecated]], meaning you can do:

    #if !defined(MYLIB_INTERNAL) && __STDC_VERSION__ >= 202311L # define mylib_private [[deprecated("private struct member, do not use.")]] #else # define mylib_private #endif

    and mark struct members as such

    distros should have mechanism to easily trigger rebuilds on soname changes, as well as mechanisms to keep the old soname around as long as there’s packages linked to it

    the fact that some distros don’t, is not a limitation of the system, but an implementation failure

    In conversationabout 3 months ago from social.vlhl.devpermalink
  • Help
  • About
  • FAQ
  • TOS
  • Privacy
  • Source
  • Version
  • Contact

GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.

Creative Commons Attribution 3.0 All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.