2.6.31 merge window, week 1
Posted Jun 19, 2009 11:51 UTC (Fri) by jamesh (guest, #1159)
As an example, most people would consider changing the open() system call to return a random integer to be an ABI break. With such a change, the system call would still be take the same arguments and have the same return type so the change is arguably one of semantics.
/dev/zero: ABI change?
Posted Jun 20, 2009 0:19 UTC (Sat) by giraffedata (subscriber, #1954)
The only difference between an API and an ABI is that the API applies to source code and the ABI applies to the executable ("binary", e.g. ELF file).
An API change means that source code that used to be able to expect a certain behavior, once compiled and run, can't anymore.
An ABI change means that an executable that used to be able to expect a certain behavior when run, can't anymore.
The behavioral change might be that the program used to run and now won't even start because the format of the ELF header changed, but it might also be that the kernel returns half the requested data for a read() where it returned all of it before.
Posted Jun 21, 2009 2:09 UTC (Sun) by spotter (subscriber, #12199)
Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds