This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Add new script add-abilist.py


On 03/06/2015 01:48 PM, Joseph Myers wrote:
> 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.

Oh, that's a really good point, and a very good reason for accepting
a script that simply updates all baselines.

> 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.

Agreed.

> (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.)

Yes.

Cheers,
Carlos.
 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]