tree 546c99c62fd8a37511cafeb38e9532fda4b150fd
parent 860fc2f2640ec348b9520ca4649b1bfd23d91bc2
parent 0e9e79a13ab9d56b86db6538305babc23b1445cc
author Ingo Molnar <mingo@kernel.org> 1389861241 +0100
committer Ingo Molnar <mingo@kernel.org> 1389861241 +0100
mergetag object 0e9e79a13ab9d56b86db6538305babc23b1445cc
 type commit
 tag perf-core-for-mingo
 tagger Arnaldo Carvalho de Melo <acme@redhat.com> 1389816947 -0300
 
 Changes in user visible interfaces:
 
 . Rename 'record's --no-delay option to --no-buffering, better reflecting its
   purpose and freeing up '--delay' to take the place of '--initial-delay', so that
   'record' and 'stat' are consistent.
 
 Refactorings:
 
 . Get rid of die() and friends (good riddance!) in libtraceevent (Namhyung Kim)
 
 Developer stuff:
 
 . Fix cross build problems related to pkgconfig and CROSS_COMPILE not being
   propagated to the feature tests, leading to features being tested in the
   host and then being enabled on the target. (Mark Rutland)
 
 . Fix pointer-integer size mismatch in some libtraceevent plugins (Mark Rutland)
 
 . Fix build error due to zfree() cast (Namhyung Kim)
 
 Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.15 (GNU/Linux)
 
 iQIcBAABAgAGBQJS1u6yAAoJENZQFvNTUqpAYosP/iA/tWMBZcCr18BDFkdoXdDh
 s8Mjq7UZAELXvX8HsQGNz1FyJJwQXAkpiqk+5t8+FsDuSMWHvhgVPd0V7ObMGGSN
 vZGfaPZ3QuTv+z+a7t7x1iI11WOAiaWU979ni3TDpQruOBWeum0+JED4rsgdTZne
 PFcGZDeODXbnAGOg5zJRcIlnBQvn3AtIWrGuvsNgxJ/SJMl9ZxQwj+mCZHmwgka5
 0zNpDGYkrhYQoNMOtz4GshvMZfgzN8iGaGzTbiQs5HvWA4YGoFAXkLyW89EUyI3L
 5tmmhlf5wFQ8HzUHfdBrVmUVcqz5QYnAR+GejyuJPPcqVJogP2tMY0j4nbSeI9Q1
 aAwOsX7OLhSzlsdu/hKVNmJk65MpbyOTYRkImgUxdEcchGWrwXIIVwi8xuCQ6RS4
 y4RsBOqDInRgEdPkwe2vkfK0FbmOqdqrFyIN8b3w1qCBF6Twr0uKduaMZ7sDRPV0
 Y7hJCJOLH30ORANcrDz2WFGFcBLzkie+MLOQkjBfDUaODQ+m/jQ0W9NFxfLlQ9D+
 lhCgCKa8i2GXLrnHpPhCqQdU+ZkBAXceivs+cHLE4B+v23HUu8O5Y07Nq9E+OUH5
 p97wrnZhiYVBMiR1wrTWqtmgPsqUzx/+zaQ9QNd/9XRdtXbkoJoGhYWUDGdfckLk
 39XH8uIh1KRLTmDlRIla
 =ur7j
 -----END PGP SIGNATURE-----

Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core

Pull perf/core updates from Arnaldo Carvalho de Melo:

Changes in user visible interfaces:

  * Rename 'record's --no-delay option to --no-buffering, better reflecting its
    purpose and freeing up '--delay' to take the place of '--initial-delay', so that
    'record' and 'stat' are consistent.

Refactorings:

  * Get rid of die() and friends (good riddance!) in libtraceevent (Namhyung Kim)

Infrastructure enhancements:

  * Fix cross build problems related to pkgconfig and CROSS_COMPILE not being
    propagated to the feature tests, leading to features being tested in the
    host and then being enabled on the target. (Mark Rutland)

  * Fix pointer-integer size mismatch in some libtraceevent plugins (Mark Rutland)

  * Fix build error due to zfree() cast (Namhyung Kim)

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
