Control: tag -1 wontfix On Fri, 2015-04-24 at 15:28 -0400, Jon Bernard wrote: > Package: src:linux > Version: 3.16.7-ckt9-2 > Severity: normal > > In looking into the cause of a recent build failure in the > lttng-modules-dkms package, I noticed that an incompatible ABI change > was made at some point. The kmem.h header differs from the upstream > 3.16.7 version. Specifically, the signature for 'trace_mm_page_alloc_extfrag'.
Of course it does, the upstream version is 3.16.7-ckt9. > This is fine, if we could have a way to distinguish between upstream > 3.16.7 and our version. It appears that Ubuntu kernels introduce > a UTS_UBUNTU_RELEASE_ABI into their kernels, which can be used to follow > their own kernel versions. Could we perhaps do the same? I used to maintain OOT modules myself, trying to support basically every distribution as well as mainline and stable kernels. Version tests just don't scale to this. Instead, you need to use some kind of a configure script to check the API of your target kernel. > Without the ability to do conditionals comparing numeric values both in > Makefiles and within C, I am not sure how tell the two different kernels > apart, and therefore am rather stuck. ABI changes are indicated by bumping the number after the dash in the kernel version string (3.16.0-3 to 3.16.0-4). But you actually need to know about the API, not the ABI. Not all changes to the API change the ABI, and vice versa. Ben. -- Ben Hutchings Man invented language to satisfy his deep need to complain. - Lily Tomlin
signature.asc
Description: This is a digitally signed message part