Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 20 Sep 2021 14:20:45 -0400
From: "Zack Weinberg" <zack@...folio.org>
To: libc-coord@...ts.openwall.com, gcc@....gnu.org
Subject: Re: Add new ABI '__memcmpeq()' to libc

On Fri, Sep 17, 2021, at 9:36 PM, James Y Knight via Libc-alpha wrote:
> Glibc currently implements bcmp as an alias to memcmp -- which is valid,
> but provides more than just the boolean equality semantics. There was
> concern raised that modifying that might break existing binaries. However,
> this concern can be easily addressed in the same way glibc typically
> addresses such compatibility concerns: creating a new symbol-version for
> the new bcmp implementation, with the previous bcmp symbol-version
> remaining as a memcmp alias.

Not speaking for anyone but myself, but IMO this tactic has proven not to preserve _enough_ backward compatibility.  Old binaries keep working, but old code breaks when recompiled with new glibc.  It's especially troublesome to do this for a semantic change that manifests only at runtime; the break can go undetected for quite some time and then cause catastrophe when someone finally hits the relevant edge case.

zw

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.