diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-28 13:39:07 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-28 13:39:07 -0400 |
| commit | 905cec410a8b0ff3afb1845d6fe7215e0259b717 (patch) | |
| tree | ffb5c7572737764c62fa82e12d6f49d0078d6941 /scripts | |
| parent | da85d3426f52b3728671b1b1a67c6bed16915c0e (diff) | |
| parent | 19a4b988955bc1d838a55c89d3d927f3d788a7dd (diff) | |
Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
Pull misc kbuild changes from Michal Marek:
"The non-critical part of kbuild for 3.5 includes
- two new coccinelle checks
- fix for make deb-pkg to include generated headers in arch/*/include
I have more make-deb-pkg fixes in the backlog, but these will likely
have to wait for 3.6."
* 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
builddeb: include autogenerated header files
scripts/coccinelle: sizeof of pointer
scripts/coccinelle: address test is always true
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/coccinelle/misc/ifaddr.cocci | 35 | ||||
| -rw-r--r-- | scripts/coccinelle/misc/noderef.cocci | 65 | ||||
| -rw-r--r-- | scripts/package/builddeb | 2 |
3 files changed, 101 insertions, 1 deletions
diff --git a/scripts/coccinelle/misc/ifaddr.cocci b/scripts/coccinelle/misc/ifaddr.cocci new file mode 100644 index 000000000000..3e4089a77000 --- /dev/null +++ b/scripts/coccinelle/misc/ifaddr.cocci | |||
| @@ -0,0 +1,35 @@ | |||
| 1 | /// the address of a variable or field is non-zero is likely always to bo | ||
| 2 | /// non-zero | ||
| 3 | /// | ||
| 4 | // Confidence: High | ||
| 5 | // Copyright: (C) 2012 Julia Lawall, INRIA/LIP6. GPLv2. | ||
| 6 | // Copyright: (C) 2012 Gilles Muller, INRIA/LiP6. GPLv2. | ||
| 7 | // URL: http://coccinelle.lip6.fr/ | ||
| 8 | // Comments: | ||
| 9 | // Options: -no_includes -include_headers | ||
| 10 | |||
| 11 | virtual org | ||
| 12 | virtual report | ||
| 13 | virtual context | ||
| 14 | |||
| 15 | @r@ | ||
| 16 | expression x; | ||
| 17 | statement S1,S2; | ||
| 18 | position p; | ||
| 19 | @@ | ||
| 20 | |||
| 21 | *if@p (&x) | ||
| 22 | S1 else S2 | ||
| 23 | |||
| 24 | @script:python depends on org@ | ||
| 25 | p << r.p; | ||
| 26 | @@ | ||
| 27 | |||
| 28 | cocci.print_main("test of a variable/field address",p) | ||
| 29 | |||
| 30 | @script:python depends on report@ | ||
| 31 | p << r.p; | ||
| 32 | @@ | ||
| 33 | |||
| 34 | msg = "ERROR: test of a variable/field address" | ||
| 35 | coccilib.report.print_report(p[0],msg) | ||
diff --git a/scripts/coccinelle/misc/noderef.cocci b/scripts/coccinelle/misc/noderef.cocci new file mode 100644 index 000000000000..c1707214e602 --- /dev/null +++ b/scripts/coccinelle/misc/noderef.cocci | |||
| @@ -0,0 +1,65 @@ | |||
| 1 | /// sizeof when applied to a pointer typed expression gives the size of | ||
| 2 | /// the pointer | ||
| 3 | /// | ||
| 4 | // Confidence: High | ||
| 5 | // Copyright: (C) 2012 Julia Lawall, INRIA/LIP6. GPLv2. | ||
| 6 | // Copyright: (C) 2012 Gilles Muller, INRIA/LiP6. GPLv2. | ||
| 7 | // URL: http://coccinelle.lip6.fr/ | ||
| 8 | // Comments: | ||
| 9 | // Options: -no_includes -include_headers | ||
| 10 | |||
| 11 | virtual org | ||
| 12 | virtual report | ||
| 13 | virtual context | ||
| 14 | virtual patch | ||
| 15 | |||
| 16 | @depends on patch@ | ||
| 17 | expression *x; | ||
| 18 | expression f; | ||
| 19 | type T; | ||
| 20 | @@ | ||
| 21 | |||
| 22 | ( | ||
| 23 | x = <+... sizeof( | ||
| 24 | - x | ||
| 25 | + *x | ||
| 26 | ) ...+> | ||
| 27 | | | ||
| 28 | f(...,(T)(x),...,sizeof( | ||
| 29 | - x | ||
| 30 | + *x | ||
| 31 | ),...) | ||
| 32 | | | ||
| 33 | f(...,sizeof(x),...,(T)( | ||
| 34 | - x | ||
| 35 | + *x | ||
| 36 | ),...) | ||
| 37 | ) | ||
| 38 | |||
| 39 | @r depends on !patch@ | ||
| 40 | expression *x; | ||
| 41 | expression f; | ||
| 42 | position p; | ||
| 43 | type T; | ||
| 44 | @@ | ||
| 45 | |||
| 46 | ( | ||
| 47 | *x = <+... sizeof@p(x) ...+> | ||
| 48 | | | ||
| 49 | *f(...,(T)(x),...,sizeof@p(x),...) | ||
| 50 | | | ||
| 51 | *f(...,sizeof@p(x),...,(T)(x),...) | ||
| 52 | ) | ||
| 53 | |||
| 54 | @script:python depends on org@ | ||
| 55 | p << r.p; | ||
| 56 | @@ | ||
| 57 | |||
| 58 | cocci.print_main("application of sizeof to pointer",p) | ||
| 59 | |||
| 60 | @script:python depends on report@ | ||
| 61 | p << r.p; | ||
| 62 | @@ | ||
| 63 | |||
| 64 | msg = "ERROR: application of sizeof to pointer" | ||
| 65 | coccilib.report.print_report(p[0],msg) | ||
diff --git a/scripts/package/builddeb b/scripts/package/builddeb index eee5f8ed2493..c95fdda58414 100644 --- a/scripts/package/builddeb +++ b/scripts/package/builddeb | |||
| @@ -245,7 +245,7 @@ fi | |||
| 245 | # Build header package | 245 | # Build header package |
| 246 | (cd $srctree; find . -name Makefile -o -name Kconfig\* -o -name \*.pl > "$objtree/debian/hdrsrcfiles") | 246 | (cd $srctree; find . -name Makefile -o -name Kconfig\* -o -name \*.pl > "$objtree/debian/hdrsrcfiles") |
| 247 | (cd $srctree; find arch/$SRCARCH/include include scripts -type f >> "$objtree/debian/hdrsrcfiles") | 247 | (cd $srctree; find arch/$SRCARCH/include include scripts -type f >> "$objtree/debian/hdrsrcfiles") |
| 248 | (cd $objtree; find .config Module.symvers include scripts -type f >> "$objtree/debian/hdrobjfiles") | 248 | (cd $objtree; find arch/$SRCARCH/include .config Module.symvers include scripts -type f >> "$objtree/debian/hdrobjfiles") |
| 249 | destdir=$kernel_headers_dir/usr/src/linux-headers-$version | 249 | destdir=$kernel_headers_dir/usr/src/linux-headers-$version |
| 250 | mkdir -p "$destdir" | 250 | mkdir -p "$destdir" |
| 251 | (cd $srctree; tar -c -f - -T "$objtree/debian/hdrsrcfiles") | (cd $destdir; tar -xf -) | 251 | (cd $srctree; tar -c -f - -T "$objtree/debian/hdrsrcfiles") | (cd $destdir; tar -xf -) |
