This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] Add new script add-abilist.py
- From: Joseph Myers <joseph at codesourcery dot com>
- To: Carlos O'Donell <carlos at redhat dot com>
- Cc: Roland McGrath <roland at hack dot frob dot com>, Florian Weimer <fweimer at redhat dot com>, <libc-alpha at sourceware dot org>
- Date: Fri, 6 Mar 2015 18:48:03 +0000
- Subject: Re: [PATCH] Add new script add-abilist.py
- Authentication-results: sourceware.org; auth=none
- References: <20150302080300 dot B464D4242A0BE at oldenburg dot str dot redhat dot com> <20150302201942 dot AC9532C39F1 at topped-with-meat dot com> <54F4CCCC dot 3070500 at redhat dot com> <20150302205928 dot C13FE2C3A08 at topped-with-meat dot com> <54F4CFCE dot 1020700 at redhat dot com> <54F8AED7 dot 2090109 at redhat dot com> <54F8C425 dot 8070501 at redhat dot com> <54F8CD76 dot 8030704 at redhat dot com> <20150305220313 dot A70CC2C3AB9 at topped-with-meat dot com> <54F8D36C dot 9020007 at redhat dot com>
On Thu, 5 Mar 2015, Carlos O'Donell wrote:
> (b) A trybot that you can use to scrape the results of `make update-abi`
> which gives you perfect confidence that things are working as
> expected.
One important case is that a bug in the change means that some
architecture doesn't actually get the new function, and so if you don't
update that architecture's ABI baselines in a way corresponding to other
architectures, a make update-abi on that architecture results in no
changes at all, and make check-abi does not fail there, and the new
function is quietly missing there.
Manually updating ABIs, possibly helped by a script, to reflect the intent
that the new function appears on all architectures, is one way to help
avoid such bugs (by making them result in visible check-abi failures
unless you accidentally miss updating the baselines for exactly the same
architectures as miss the new functions). Of course we should *also* add
testcases that verify the new function calls at least link (even if no
runtime test is possible without e.g. a new Linux kernel or running with
privileges) - as that would also detect such problems.
(fallocate64 being added in 2.10 on 64-bit architectures but 2.11 on
32-bit architectures
<https://sourceware.org/ml/libc-hacker/2009-05/msg00003.html> is the
prototypical example of a bug that could have been found this way.)
--
Joseph S. Myers
joseph@codesourcery.com