aboutsummaryrefslogtreecommitdiffstats
path: root/tools/lib/traceevent/event-parse.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2013-01-25 05:33:41 -0500
committerIngo Molnar <mingo@kernel.org>2013-01-25 05:34:00 -0500
commita2d28d0c198b65fac28ea6212f5f8edc77b29c27 (patch)
tree130c1b4464f1eb685e56ff2ce122e3e36bb52e88 /tools/lib/traceevent/event-parse.c
parent203e04c16330c880538588e932743f404ee4fd66 (diff)
parent2ae828786c65ab8f587647bd0f22f8fe00f1f238 (diff)
Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core
Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: . Allow skipping problematic entries in 'perf test'. . Fix some namespace problems in the event parsing routines. . Add 'perf test' entry to make sure the python binding doesn't have linking problems. . Adjust 'perf test' attr tests verbosity levels. . Make tools/perf build with GNU make v3.80, fix from Al Cooper. . Do missing feature fallbacks in just one place, removing duplicated code in multiple tools. . Fix some memory leaks, from David Ahern. . Fix segfault when drawing out-of-bounds jumps, from Frederik Deweerdt. . Allow of casting an array of char to string in 'perf probe', from Hyeoncheol Lee. . Add support for wildcard in tracepoint system name, from Jiri Olsa. . Update FSF postal address to be URL's, from Jon Stanley. . Add anonymous huge page recognition, from Joshua Zhu. . Remove some needless feature test checks, from Namhyung Kim. . Multiple improvements to the sort routines, from Namhyung Kim. . Fix warning on '>=' operator in libtraceevent, from Namhyung Kim. . Use ARRAY_SIZE instead of reinventing it in 'perf script' and 'perf kmem', from Sasha Levin. . Remove some redundant checks, from Sasha Levin. . Test correct variable after allocation in libtraceevent, fix from Sasha Levin. . Mark branch_info maps as referenced, fix from Stephane Eranian. . Fix PMU format parsing test failure, from Sukadev Bhattiprolu. . Fix possible (unlikely) buffer overflow, from Thomas Jarosch. . Multiple 'perf script' fixes, from Tom Zanussi. . Add missing field in PERF_RECORD_SAMPLE documentation, from Vince Weaver. Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'tools/lib/traceevent/event-parse.c')
-rw-r--r--tools/lib/traceevent/event-parse.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/tools/lib/traceevent/event-parse.c b/tools/lib/traceevent/event-parse.c
index 5a824e355d04..bb8b3db0e583 100644
--- a/tools/lib/traceevent/event-parse.c
+++ b/tools/lib/traceevent/event-parse.c
@@ -13,8 +13,7 @@
13 * GNU Lesser General Public License for more details. 13 * GNU Lesser General Public License for more details.
14 * 14 *
15 * You should have received a copy of the GNU Lesser General Public 15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this program; if not, write to the Free Software 16 * License along with this program; if not, see <http://www.gnu.org/licenses>
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 * 17 *
19 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 18 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
20 * 19 *
@@ -1463,7 +1462,8 @@ static int event_read_fields(struct event_format *event, struct format_field **f
1463 if (read_expect_type(EVENT_ITEM, &token)) 1462 if (read_expect_type(EVENT_ITEM, &token))
1464 goto fail; 1463 goto fail;
1465 1464
1466 /* add signed type */ 1465 if (strtoul(token, NULL, 0))
1466 field->flags |= FIELD_IS_SIGNED;
1467 1467
1468 free_token(token); 1468 free_token(token);
1469 if (read_expected(EVENT_OP, ";") < 0) 1469 if (read_expected(EVENT_OP, ";") < 0)
@@ -1785,6 +1785,8 @@ process_op(struct event_format *event, struct print_arg *arg, char **tok)
1785 strcmp(token, "/") == 0 || 1785 strcmp(token, "/") == 0 ||
1786 strcmp(token, "<") == 0 || 1786 strcmp(token, "<") == 0 ||
1787 strcmp(token, ">") == 0 || 1787 strcmp(token, ">") == 0 ||
1788 strcmp(token, "<=") == 0 ||
1789 strcmp(token, ">=") == 0 ||
1788 strcmp(token, "==") == 0 || 1790 strcmp(token, "==") == 0 ||
1789 strcmp(token, "!=") == 0) { 1791 strcmp(token, "!=") == 0) {
1790 1792
@@ -2481,7 +2483,7 @@ process_dynamic_array(struct event_format *event, struct print_arg *arg, char **
2481 2483
2482 free_token(token); 2484 free_token(token);
2483 arg = alloc_arg(); 2485 arg = alloc_arg();
2484 if (!field) { 2486 if (!arg) {
2485 do_warning("%s: not enough memory!", __func__); 2487 do_warning("%s: not enough memory!", __func__);
2486 *tok = NULL; 2488 *tok = NULL;
2487 return EVENT_ERROR; 2489 return EVENT_ERROR;