diff --git a/TODO b/TODO index e8f93c22..0199d4c3 100644 --- a/TODO +++ b/TODO @@ -287,9 +287,12 @@ Before 1.2: .eh_frame_hdr section, that's still 18 pages for gtk+. The .eh_frame section for gtk+ is 72 pages. - A possibility may be to consider two stacktraces identical if - the only differing values are *outside* the text segments. - This may work since stack frames tend to be the same size. + A possibility may be to consider two stacktraces identical + if the only differing values are *outside* the text + segments. This may work since stack frames tend to be the + same size. Is there a way of determining the location of + text segments without reading the ELF files? Maybe just + check if it's inside an executable mappign. It is then sufficient in user space to only store one representative for each set of considered-identical stack diff --git a/collector.c b/collector.c index af4df1da..5a0ec57e 100644 --- a/collector.c +++ b/collector.c @@ -86,7 +86,7 @@ time_diff (const GTimeVal *first, static void add_trace_to_stash (const SysprofStackTrace *trace, - StackStash *stash) + StackStash *stash) { int i; gulong *addrs; @@ -213,7 +213,8 @@ open_fd (Collector *collector, while (fd < 0 && g_timer_elapsed (timer, NULL) < 0.5) { - /* Wait for udev to discover the new device */ + /* Wait for udev to discover the new device. + */ usleep (100000); errno = 0; @@ -256,8 +257,8 @@ open_fd (Collector *collector, } gboolean -collector_start (Collector *collector, - GError **err) +collector_start (Collector *collector, + GError **err) { if (collector->fd < 0 && !open_fd (collector, err)) return FALSE;