[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#783259: linux-image-3.16.0-4-amd64: Indicating ABI changes from upstream



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

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: