https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122800

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Looking at abilists, for libgdruntime.so.6.0.0 I see no changes at all and for
libgphobos.so.6.0.0
+crc32_combine_gen FUNC GLOBAL DEFAULT
+crc32_combine_gen64 FUNC GLOBAL DEFAULT
+crc32_combine_op FUNC GLOBAL DEFAULT
-deflate_copyright OBJECT GLOBAL DEFAULT 69
+deflate_copyright OBJECT GLOBAL DEFAULT 68
+gz_intmax FUNC GLOBAL DEFAULT
-inflate_copyright OBJECT GLOBAL DEFAULT 48
+inflate_copyright OBJECT GLOBAL DEFAULT 47
though that is maybe just because my libz got changed (though it would be said
if that is exposed as part of an ABI).
But it seems to be exactly that case, gcc-15/zlib/inftrees.c to
gcc-trunk/zlib/inftrees.c contains:
 const char inflate_copyright[] =
-   " inflate 1.2.11 Copyright 1995-2017 Mark Adler ";
+   " inflate 1.3.1 Copyright 1995-2024 Mark Adler ";
Now, if a program would use in non-PIE/PIC way extern const char
inflate_copyright[]; const char *p = inflate_copyright; then it would be an ABI
change, because when built against GCC 15 libgphobos.so.6 it would be copying
48 bytes and otherwise just 47 bytes.
The joys of using non-symbol versioned libraries :(.

Reply via email to