[kernel] r21798 - in dists/sid/linux-tools/debian: . build/scripts/mod build/scripts/mod/real-lsb-32 build/scripts/mod/real-lsb-64 build/scripts/mod/real-msb-32 build/scripts/mod/real-msb-64

Ben Hutchings benh at moszumanska.debian.org
Tue Sep 9 12:23:39 UTC 2014


Author: benh
Date: Tue Sep  9 12:23:39 2014
New Revision: 21798

Log:
linux-kbuild: Change the type headers used for devicetable-offsets.c (Closes: #754213)

Avoid depending on UAPI headers or <linux/types.h>.  This really
closes: #754213.  It also fixes modpost handling of input device IDs
when host and target have differing word size.

Added:
   dists/sid/linux-tools/debian/build/scripts/mod/types.h
Modified:
   dists/sid/linux-tools/debian/build/scripts/mod/Makefile.real
   dists/sid/linux-tools/debian/build/scripts/mod/real-lsb-32/types.h
   dists/sid/linux-tools/debian/build/scripts/mod/real-lsb-64/types.h
   dists/sid/linux-tools/debian/build/scripts/mod/real-msb-32/types.h
   dists/sid/linux-tools/debian/build/scripts/mod/real-msb-64/types.h
   dists/sid/linux-tools/debian/changelog

Modified: dists/sid/linux-tools/debian/build/scripts/mod/Makefile.real
==============================================================================
--- dists/sid/linux-tools/debian/build/scripts/mod/Makefile.real	Mon Sep  8 19:31:31 2014	(r21797)
+++ dists/sid/linux-tools/debian/build/scripts/mod/Makefile.real	Tue Sep  9 12:23:39 2014	(r21798)
@@ -2,8 +2,6 @@
 
 top_srcdir = ../..
 
-CFLAGS += -I$(top_srcdir)/include
-
 include $(top_srcdir)/debian/build/Makefile.inc
 
 modpost.real-$(TYPE): file2alias.real-$(TYPE).o modpost.real-$(TYPE).o sumversion.real-$(TYPE).o
@@ -13,7 +11,7 @@
 	$(CC) -I real-$(TYPE) $(CFLAGS) -c -o $@ $<
 
 real-$(TYPE)/devicetable-offsets.s: $(SOURCEDIR)/devicetable-offsets.c
-	$(CC) -include real-$(TYPE)/types.h $(CFLAGS) -S -o $@ $<
+	$(CC) -include real-$(TYPE)/types.h $(CFLAGS) -nostdinc -I$(top_srcdir)/include -S -o $@ $<
 
 real-$(TYPE)/devicetable-offsets.h: real-$(TYPE)/devicetable-offsets.s
 	echo >$@ "#define __DEVICEVTABLE_OFFSETS_H__"

Modified: dists/sid/linux-tools/debian/build/scripts/mod/real-lsb-32/types.h
==============================================================================
--- dists/sid/linux-tools/debian/build/scripts/mod/real-lsb-32/types.h	Mon Sep  8 19:31:31 2014	(r21797)
+++ dists/sid/linux-tools/debian/build/scripts/mod/real-lsb-32/types.h	Tue Sep  9 12:23:39 2014	(r21798)
@@ -1,2 +1,3 @@
-#include <linux/types.h>
+#include "../types.h"
 typedef __u32 kernel_ulong_t;
+#define BITS_PER_LONG 32

Modified: dists/sid/linux-tools/debian/build/scripts/mod/real-lsb-64/types.h
==============================================================================
--- dists/sid/linux-tools/debian/build/scripts/mod/real-lsb-64/types.h	Mon Sep  8 19:31:31 2014	(r21797)
+++ dists/sid/linux-tools/debian/build/scripts/mod/real-lsb-64/types.h	Tue Sep  9 12:23:39 2014	(r21798)
@@ -1,2 +1,3 @@
-#include <linux/types.h>
+#include "../types.h"
 typedef __u64 __attribute__((aligned(8))) kernel_ulong_t;
+#define BITS_PER_LONG 64

Modified: dists/sid/linux-tools/debian/build/scripts/mod/real-msb-32/types.h
==============================================================================
--- dists/sid/linux-tools/debian/build/scripts/mod/real-msb-32/types.h	Mon Sep  8 19:31:31 2014	(r21797)
+++ dists/sid/linux-tools/debian/build/scripts/mod/real-msb-32/types.h	Tue Sep  9 12:23:39 2014	(r21798)
@@ -1,2 +1,3 @@
-#include <linux/types.h>
+#include "../types.h"
 typedef __u32 kernel_ulong_t;
+#define BITS_PER_LONG 32

Modified: dists/sid/linux-tools/debian/build/scripts/mod/real-msb-64/types.h
==============================================================================
--- dists/sid/linux-tools/debian/build/scripts/mod/real-msb-64/types.h	Mon Sep  8 19:31:31 2014	(r21797)
+++ dists/sid/linux-tools/debian/build/scripts/mod/real-msb-64/types.h	Tue Sep  9 12:23:39 2014	(r21798)
@@ -1,2 +1,3 @@
-#include <linux/types.h>
+#include "../types.h"
 typedef __u64 __attribute__((aligned(8))) kernel_ulong_t;
+#define BITS_PER_LONG 64

Added: dists/sid/linux-tools/debian/build/scripts/mod/types.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/sid/linux-tools/debian/build/scripts/mod/types.h	Tue Sep  9 12:23:39 2014	(r21798)
@@ -0,0 +1,6 @@
+/* Minimal definitions for mod_devicetable.h and devicetable-offsets.c */
+typedef unsigned char __u8;
+typedef unsigned short __u16;
+typedef unsigned int __u32;
+typedef unsigned long long __u64;
+#define offsetof(a,b) __builtin_offsetof(a,b)

Modified: dists/sid/linux-tools/debian/changelog
==============================================================================
--- dists/sid/linux-tools/debian/changelog	Mon Sep  8 19:31:31 2014	(r21797)
+++ dists/sid/linux-tools/debian/changelog	Tue Sep  9 12:23:39 2014	(r21798)
@@ -1,3 +1,12 @@
+linux-tools (3.16-2) unstable; urgency=medium
+
+  * linux-kbuild: Change the type headers used for devicetable-offsets.c
+    to avoid depending on UAPI headers or <linux/types.h>.  This really
+    closes: #754213.  It also fixes modpost handling of input device IDs
+    when host and target have differing word size.
+
+ -- Ben Hutchings <ben at decadent.org.uk>  Tue, 09 Sep 2014 13:21:05 +0100
+
 linux-tools (3.16-1) unstable; urgency=medium
 
   * New upstream release



More information about the Kernel-svn-changes mailing list