On 05/26/2011 12:54 PM, Niels Thykier wrote:Turns out I cannot think of an example of an ABI breakage in Java that is not also an API breakage (in some sense or another). Maybe someone else on list can think of one (where symbols/shlibs tracking would be helpful). Maybe narrowing the return type of a primitive? Or generalizing an object type paramenter? I know at least 6 kinds of API changes that can break binary/behavioral (ABI) compatibility and don't break source (API) compatibility:
[1] Clirr Tool - checks Java libraries for binary and source compatibility [2] "Achieving API Binary Compatibility" - article about binary compatibility with notes about source compatibility [3] Upstream Tracker for Java - looking for new releases of various libraries and checking them for backward binary and source compatibility -- Andrey Ponomarenko Department for Operating Systems at ISPRAS web: http://www.LinuxTesting.org mail: aponomarenko@ispras.ru |