Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libtraceevent for openSUSE:Factory 
checked in at 2025-04-02 17:05:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libtraceevent (Old)
 and      /work/SRC/openSUSE:Factory/.libtraceevent.new.1907 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libtraceevent"

Wed Apr  2 17:05:22 2025 rev:15 rq:1265512 version:1.8.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/libtraceevent/libtraceevent.changes      
2024-09-05 15:46:42.686885838 +0200
+++ /work/SRC/openSUSE:Factory/.libtraceevent.new.1907/libtraceevent.changes    
2025-04-02 17:05:50.306425945 +0200
@@ -1,0 +2,8 @@
+Sun Mar 30 10:59:16 UTC 2025 - Dirk Müller <dmuel...@suse.com>
+
+- update to 1.8.4:
+  * Have sizeof() parsing handle u8/s8 through u64/s64
+  * Print arrays like Linux does
+  * Print function pointer address when TEP_EVENT_FL_PRINTRAW is specified
+
+-------------------------------------------------------------------

Old:
----
  libtraceevent-1.8.3.tar.gz

New:
----
  libtraceevent-1.8.4.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libtraceevent.spec ++++++
--- /var/tmp/diff_new_pack.vZtT9B/_old  2025-04-02 17:05:51.286466980 +0200
+++ /var/tmp/diff_new_pack.vZtT9B/_new  2025-04-02 17:05:51.286466980 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package libtraceevent
 #
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2025 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -22,7 +22,7 @@
 %define sodname %{dname}%{sonum}
 
 Name:           libtraceevent
-Version:        1.8.3
+Version:        1.8.4
 Release:        0
 Summary:        Linux kernel trace event library
 License:        GPL-2.0-only AND LGPL-2.1-only

++++++ libtraceevent-1.8.3.tar.gz -> libtraceevent-1.8.4.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libtraceevent-1.8.3/Makefile 
new/libtraceevent-1.8.4/Makefile
--- old/libtraceevent-1.8.3/Makefile    2024-07-24 19:28:57.000000000 +0200
+++ new/libtraceevent-1.8.4/Makefile    2024-10-11 23:26:45.000000000 +0200
@@ -2,7 +2,7 @@
 # libtraceevent version
 EP_VERSION = 1
 EP_PATCHLEVEL = 8
-EP_EXTRAVERSION = 3
+EP_EXTRAVERSION = 4
 EVENT_PARSE_VERSION = $(EP_VERSION).$(EP_PATCHLEVEL).$(EP_EXTRAVERSION)
 
 MAKEFLAGS += --no-print-directory
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libtraceevent-1.8.3/meson.build 
new/libtraceevent-1.8.4/meson.build
--- old/libtraceevent-1.8.3/meson.build 2024-07-24 19:28:57.000000000 +0200
+++ new/libtraceevent-1.8.4/meson.build 2024-10-11 23:26:45.000000000 +0200
@@ -6,7 +6,7 @@
     'libtraceevent', ['c'],
     meson_version: '>= 0.58.0',
     license: 'LGPL-2.1',
-    version: '1.8.3',
+    version: '1.8.4',
     default_options: [
         'c_std=gnu99',
         'buildtype=debug',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/libtraceevent-1.8.3/src/event-parse.c 
new/libtraceevent-1.8.4/src/event-parse.c
--- old/libtraceevent-1.8.3/src/event-parse.c   2024-07-24 19:28:57.000000000 
+0200
+++ new/libtraceevent-1.8.4/src/event-parse.c   2024-10-11 23:26:45.000000000 
+0200
@@ -3571,6 +3571,23 @@
                        /* The token is the next token */
                        token_has_paren = true;
                }
+
+       } else if (strcmp(token, "__u64") == 0 || strcmp(token, "u64") == 0 ||
+                  strcmp(token, "__s64") == 0 || strcmp(token, "s64") == 0) {
+               arg->atom.atom = strdup("8");
+
+       } else if (strcmp(token, "__u32") == 0 || strcmp(token, "u32") == 0 ||
+                  strcmp(token, "__s32") == 0 || strcmp(token, "s32") == 0) {
+               arg->atom.atom = strdup("4");
+
+       } else if (strcmp(token, "__u16") == 0 || strcmp(token, "u16") == 0 ||
+                  strcmp(token, "__s16") == 0 || strcmp(token, "s16") == 0) {
+               arg->atom.atom = strdup("2");
+
+       } else if (strcmp(token, "__u8") == 0 || strcmp(token, "u8") == 0 ||
+                  strcmp(token, "__8") == 0 || strcmp(token, "s8") == 0) {
+               arg->atom.atom = strdup("1");
+
        } else if (strcmp(token, "REC") == 0) {
 
                free_token(token);
@@ -4938,18 +4955,19 @@
                len = eval_num_arg(data, size, event, arg->int_array.count);
                el_size = eval_num_arg(data, size, event,
                                       arg->int_array.el_size);
+               trace_seq_putc(s, '{');
                for (i = 0; i < len; i++) {
                        if (i)
-                               trace_seq_putc(s, ' ');
+                               trace_seq_putc(s, ',');
 
                        if (el_size == 1) {
-                               trace_seq_printf(s, "%u", *(uint8_t *)num);
+                               trace_seq_printf(s, "0x%x", *(uint8_t *)num);
                        } else if (el_size == 2) {
-                               trace_seq_printf(s, "%u", *(uint16_t *)num);
+                               trace_seq_printf(s, "0x%x", *(uint16_t *)num);
                        } else if (el_size == 4) {
-                               trace_seq_printf(s, "%u", *(uint32_t *)num);
+                               trace_seq_printf(s, "0x%x", *(uint32_t *)num);
                        } else if (el_size == 8) {
-                               trace_seq_printf(s, "%"PRIu64, *(uint64_t 
*)num);
+                               trace_seq_printf(s, "0x%"PRIx64, *(uint64_t 
*)num);
                        } else {
                                trace_seq_printf(s, "BAD SIZE:%d 0x%x",
                                                 el_size, *(uint8_t *)num);
@@ -4958,6 +4976,7 @@
 
                        num += el_size;
                }
+               trace_seq_putc(s, '}');
                break;
        }
        case TEP_PRINT_TYPE:
@@ -6001,11 +6020,11 @@
 }
 
 static int print_parse_data(struct tep_print_parse *parse, struct trace_seq *s,
-                           void *data, int size, struct tep_event *event);
+                           void *data, int size, struct tep_event *event, bool 
raw);
 
 static inline void print_field(struct trace_seq *s, void *data, int size,
                                    struct tep_format_field *field,
-                                   struct tep_print_parse **parse_ptr)
+                                   struct tep_print_parse **parse_ptr, bool 
raw)
 {
        struct tep_event *event = field->event;
        struct tep_print_parse *start_parse;
@@ -6049,7 +6068,7 @@
                if (has_0x)
                        trace_seq_puts(s, "0x");
 
-               print_parse_data(parse, s, data, size, event);
+               print_parse_data(parse, s, data, size, event, raw);
 
                if (parse_ptr)
                        *parse_ptr = parse->next;
@@ -6081,7 +6100,7 @@
 void tep_print_field_content(struct trace_seq *s, void *data, int size,
                             struct tep_format_field *field)
 {
-       print_field(s, data, size, field, NULL);
+       print_field(s, data, size, field, NULL, false);
 }
 
 /** DEPRECATED **/
@@ -6089,13 +6108,13 @@
                     struct tep_format_field *field)
 {
        /* unsafe to use, should pass in size */
-       print_field(s, data, 4096, field, NULL);
+       print_field(s, data, 4096, field, NULL, false);
 }
 
 static inline void
 print_selected_fields(struct trace_seq *s, void *data, int size,
                      struct tep_event *event,
-                     unsigned long long ignore_mask)
+                     unsigned long long ignore_mask, bool raw)
 {
        struct tep_print_parse *parse = event->print_fmt.print_cache;
        struct tep_format_field *field;
@@ -6107,14 +6126,14 @@
                        continue;
 
                trace_seq_printf(s, " %s=", field->name);
-               print_field(s, data, size, field, &parse);
+               print_field(s, data, size, field, &parse, raw);
        }
 }
 
 void tep_print_fields(struct trace_seq *s, void *data,
                      int size, struct tep_event *event)
 {
-       print_selected_fields(s, data, size, event, 0);
+       print_selected_fields(s, data, size, event, 0, false);
 }
 
 /**
@@ -6128,7 +6147,7 @@
                             struct tep_record *record,
                             struct tep_event *event)
 {
-       print_selected_fields(s, record->data, record->size, event, 0);
+       print_selected_fields(s, record->data, record->size, event, 0, false);
 }
 
 /**
@@ -6146,12 +6165,12 @@
 {
        unsigned long long ignore_mask = ~select_mask;
 
-       print_selected_fields(s, record->data, record->size, event, 
ignore_mask);
+       print_selected_fields(s, record->data, record->size, event, 
ignore_mask, false);
 }
 
 static int print_function(struct trace_seq *s, const char *format,
                          void *data, int size, struct tep_event *event,
-                         struct tep_print_arg *arg)
+                         struct tep_print_arg *arg, bool raw)
 {
        struct func_map *func;
        unsigned long long val;
@@ -6162,11 +6181,17 @@
                trace_seq_puts(s, func->func);
                if (*format == 'F' || *format == 'S')
                        trace_seq_printf(s, "+0x%llx", val - func->addr);
-       } else {
+       }
+
+       if (!func || raw) {
+               if (raw)
+                       trace_seq_puts(s, " (");
                if (event->tep->long_size == 4)
                        trace_seq_printf(s, "0x%lx", (long)val);
                else
                        trace_seq_printf(s, "0x%llx", (long long)val);
+               if (raw)
+                       trace_seq_puts(s, ")");
        }
 
        return 0;
@@ -6174,7 +6199,8 @@
 
 static int print_arg_pointer(struct trace_seq *s, const char *format, int plen,
                             void *data, int size,
-                            struct tep_event *event, struct tep_print_arg *arg)
+                            struct tep_event *event, struct tep_print_arg *arg,
+                            bool raw)
 {
        unsigned long long val;
        int ret = 1;
@@ -6196,7 +6222,7 @@
        case 'f':
        case 'S':
        case 's':
-               ret += print_function(s, format, data, size, event, arg);
+               ret += print_function(s, format, data, size, event, arg, raw);
                break;
        case 'M':
        case 'm':
@@ -6660,7 +6686,7 @@
 }
 
 static int print_parse_data(struct tep_print_parse *parse, struct trace_seq *s,
-                           void *data, int size, struct tep_event *event)
+                           void *data, int size, struct tep_event *event, bool 
raw)
 {
        int len_arg;
 
@@ -6676,7 +6702,7 @@
        case PRINT_FMT_ARG_POINTER:
                print_arg_pointer(s, parse->format,
                                  parse->len_as_arg ? len_arg : 1,
-                                 data, size, event, parse->arg);
+                                 data, size, event, parse->arg, raw);
                break;
        case PRINT_FMT_ARG_STRING:
                print_arg_string(s, parse->format,
@@ -6697,7 +6723,7 @@
                              void *data, int size, struct tep_event *event)
 {
        while (parse) {
-               print_parse_data(parse, s, data, size, event);
+               print_parse_data(parse, s, data, size, event, false);
                parse = parse->next;
        }
 }
@@ -7004,7 +7030,7 @@
        int print_pretty = 1;
 
        if (raw || (event->flags & TEP_EVENT_FL_PRINTRAW))
-               tep_print_fields(s, record->data, record->size, event);
+               print_selected_fields(s, record->data, record->size, event, 0, 
true);
        else {
 
                if (event->handler && !(event->flags & TEP_EVENT_FL_NOHANDLE))

Reply via email to