Linked by Nth_Man on Mon 1st Jul 2013 15:37 UTC
Linux "This release adds support for bcache, which allows to use SSD devices to cache data from other block devices; a Btrfs format improvement that makes the tree dedicated to store extent information 30-35% smaller; support for XFS metadata checksums and self-describing metadata, timer free multitasking for applications running alone in a CPU, SysV IPC and rwlock scalability improvements, the TCP Tail loss probe algorithm that reduces tail latency of short transactions, KVM virtualization support in the MIPS architecture, many new drivers and small improvements."
Thread beginning with comment 566341
To view parent comment, click here.
To read all comments associated with this story, please click here.
lemur2
Member since:
2007-02-17

Which is a f--king stupid way of managing dependencies.


Excuse me? It is the way that all software development works. Take a look at a makefile.

Every tiny change in a software project can cause a bug, and constantly changing little things is a good way to cause breakage. This is software engineering basics and it obvious you don't understand it.


You clearly don't understand the difference between an API and an ABI. The Linux kernel typically maintains stable APIs but not ABIs. This means that the source code of drivers need not change, but binary entry points do, so the binaries of the drivers does need to change.

If you update the kernel, the source code of drivers typically does not change (because as I said the API is normally stable). Hence this is not a mechanism to introduce breakage. A driver module which has been compiled against the incorrect version of Linux kernel headers simply won't load.

Edited 2013-07-05 12:29 UTC

Reply Parent Score: 2

lucas_maximus Member since:
2009-08-18

Excuse me? It is the way that all software development works. Take a look at a makefile.


Err no it isn't.

Sensible platforms go and ship the binary that it is built against with the distributable.

If the library has changed there is no way without testing it to verify if its behaviour has stayed the same or not.

You clearly don't understand the difference between an API and an ABI. The Linux kernel typically maintains stable APIs but not ABIs. This means that the source code of drivers need not change, but binary entry points do, so the binaries of the drivers does need to change.

If you update the kernel, the source code of drivers typically does not change (because as I said the API is normally stable). Hence this is not a mechanism to introduce breakage. A driver module which has been compiled against the incorrect version of Linux kernel headers simply won't load.


If something is changing that can cause defects. It doesn't matter whether it is an ABI or an API.

Reply Parent Score: 2

lemur2 Member since:
2007-02-17

If something is changing that can cause defects. It doesn't matter whether it is an ABI or an API.


If that were true then you would get bugs which only occurred if a library happened to load in some memory locations but not others. After all, the addresses of all the target address locations of all jumps and calls within a piece of code would be changing depending on where in absolute memory the code was loaded, which, according to you, "that can cause effects".

Reply Parent Score: 2