LTT_FIELD_PARENT_PID,
LTT_FIELD_CHILD_PID,
LTT_FIELD_PID,
+ LTT_FIELD_TGID,
LTT_FIELD_FILENAME,
LTT_FIELD_NAME,
LTT_FIELD_TYPE,
/* Put the per cpu running_process to beginning state : process 0. */
for(i=0; i< nb_cpus; i++) {
- self->running_process[i] = lttv_state_create_process(self, NULL, i, 0,
+ self->running_process[i] = lttv_state_create_process(self, NULL, i, 0, 0,
LTTV_STATE_UNNAMED, &start_time);
self->running_process[i]->state->s = LTTV_STATE_RUN;
self->running_process[i]->cpu = i;
LttvProcessState *
lttv_state_create_process(LttvTraceState *tcs, LttvProcessState *parent,
- guint cpu, guint pid, GQuark name, const LttTime *timestamp)
+ guint cpu, guint pid, guint tgid, GQuark name, const LttTime *timestamp)
{
LttvProcessState *process = g_new(LttvProcessState, 1);
char buffer[128];
process->pid = pid;
+ process->tgid = tgid;
process->cpu = cpu;
process->name = name;
process->brand = LTTV_STATE_UNBRANDED;
/* Put ltt_time_zero creation time for unexisting processes */
if(unlikely(process == NULL)) {
process = lttv_state_create_process(ts,
- NULL, cpu, pid, LTTV_STATE_UNNAMED, timestamp);
+ NULL, cpu, pid, 0, LTTV_STATE_UNNAMED, timestamp);
/* We are not sure is it's a kernel thread or normal thread, put the
* bottom stack state to unknown */
es = &g_array_index(process->execution_stack, LttvExecutionState, 0);
} else {
/* Fixup an incomplete trap table */
GString *string = g_string_new("");
- g_string_printf(string, "trap %u", trap);
+ g_string_printf(string, "trap %llu", trap);
submode = g_quark_from_string(string->str);
g_string_free(string, TRUE);
}
LttEvent *e = ltt_tracefile_get_event(s->parent.tf);
LttvTraceHookByFacility *thf = (LttvTraceHookByFacility *)hook_data;
guint parent_pid;
- guint child_pid;
+ guint child_pid; /* In the Linux Kernel, there is one PID per thread. */
+ guint child_tgid; /* tgid in the Linux kernel is the "real" POSIX PID. */
LttvProcessState *zombie_process;
guint cpu = s->cpu;
LttvTraceState *ts = (LttvTraceState*)s->parent.t_context;
/* Child PID */
child_pid = ltt_event_get_unsigned(e, thf->f2);
+ /* Child TGID */
+ if(thf->f3) child_tgid = ltt_event_get_unsigned(e, thf->f3);
+ else child_tgid = 0;
+
/* Mathieu : it seems like the process might have been scheduled in before the
* fork, and, in a rare case, might be the current process. This might happen
* in a SMP case where we don't have enough precision on the clocks.
child_process = lttv_state_find_process(ts, ANY_CPU, child_pid);
if(child_process == NULL) {
child_process = lttv_state_create_process(ts, process, cpu,
- child_pid, LTTV_STATE_UNNAMED, &s->parent.timestamp);
+ child_pid, child_tgid,
+ LTTV_STATE_UNNAMED, &s->parent.timestamp);
} else {
/* The process has already been created : due to time imprecision between
* multiple CPUs : it has been scheduled in before creation. Note that we
g_assert(0); /* This is a problematic case : the process has been created
before the fork event */
child_process->ppid = process->pid;
+ child_process->tgid = child_tgid;
}
g_assert(child_process->name == LTTV_STATE_UNNAMED);
child_process->name = process->name;
LttvTraceHookByFacility *thf = (LttvTraceHookByFacility *)hook_data;
guint parent_pid;
guint pid;
+ guint tgid;
gchar * command;
guint cpu = s->cpu;
LttvTraceState *ts = (LttvTraceState*)s->parent.t_context;
LttvProcessState *process = ts->running_process[cpu];
LttvProcessState *parent_process;
- LttField *f4, *f5, *f6, *f7;
+ LttField *f4, *f5, *f6, *f7, *f8;
GQuark type, mode, submode, status;
LttvExecutionState *es;
status = ltt_enum_string_get(ltt_field_type(f7),
ltt_event_get_unsigned(e, f7));
- /* The process might exist if a process was forked while performing the sate dump. */
+ /* TGID */
+ f8 = ltt_eventtype_field_by_name(et, LTT_FIELD_TGID);
+ if(f8) tgid = ltt_event_get_unsigned(e, f8);
+ else tgid = 0;
+
+ /* The process might exist if a process was forked while performing the state
+ * dump. */
process = lttv_state_find_process(ts, ANY_CPU, pid);
if(process == NULL) {
parent_process = lttv_state_find_process(ts, ANY_CPU, parent_pid);
process = lttv_state_create_process(ts, parent_process, cpu,
- pid, g_quark_from_string(command),
+ pid, tgid, g_quark_from_string(command),
&s->parent.timestamp);
/* Keep the stack bottom : a running user mode */
* We know for sure if it is a user space thread.
*/
process->ppid = parent_pid;
+ process->tgid = tgid;
process->name = g_quark_from_string(command);
es = &g_array_index(process->execution_stack, LttvExecutionState, 0);
if(type != LTTV_STATE_KERNEL_THREAD)
ret = lttv_trace_find_hook(ts->parent.t,
LTT_FACILITY_PROCESS, LTT_EVENT_FORK,
- LTT_FIELD_PARENT_PID, LTT_FIELD_CHILD_PID, 0,
+ LTT_FIELD_PARENT_PID, LTT_FIELD_CHILD_PID, LTT_FIELD_TGID,
process_fork, NULL, &g_array_index(hooks, LttvTraceHook, hn++));
if(ret) hn--;
LTT_FIELD_PARENT_PID = g_quark_from_string("parent_pid");
LTT_FIELD_CHILD_PID = g_quark_from_string("child_pid");
LTT_FIELD_PID = g_quark_from_string("pid");
+ LTT_FIELD_TGID = g_quark_from_string("tgid");
LTT_FIELD_FILENAME = g_quark_from_string("filename");
LTT_FIELD_NAME = g_quark_from_string("name");
LTT_FIELD_TYPE = g_quark_from_string("type");
/usr/include/glib-2.0/glib/gtypes.h \
/usr/lib/glib-2.0/include/glibconfig.h \
/usr/include/glib-2.0/glib/gmacros.h \
- /usr/lib/gcc/i386-redhat-linux/3.4.2/include/stddef.h \
- /usr/lib/gcc/i386-redhat-linux/3.4.2/include/limits.h \
- /usr/lib/gcc/i386-redhat-linux/3.4.2/include/syslimits.h \
+ /usr/lib/gcc/i486-linux-gnu/4.0.3/include/stddef.h \
+ /usr/lib/gcc/i486-linux-gnu/4.0.3/include/limits.h \
+ /usr/lib/gcc/i486-linux-gnu/4.0.3/include/syslimits.h \
/usr/include/limits.h /usr/include/bits/posix1_lim.h \
/usr/include/bits/local_lim.h /usr/include/linux/limits.h \
/usr/include/bits/posix2_lim.h \
- /usr/lib/gcc/i386-redhat-linux/3.4.2/include/float.h \
+ /usr/lib/gcc/i486-linux-gnu/4.0.3/include/float.h \
/usr/include/glib-2.0/glib/garray.h \
/usr/include/glib-2.0/glib/gasyncqueue.h \
/usr/include/glib-2.0/glib/gthread.h \
/usr/include/glib-2.0/glib/gatomic.h \
/usr/include/glib-2.0/glib/gbacktrace.h \
/usr/include/glib-2.0/glib/gcache.h /usr/include/glib-2.0/glib/glist.h \
- /usr/include/glib-2.0/glib/gmem.h \
+ /usr/include/glib-2.0/glib/gmem.h /usr/include/glib-2.0/glib/gslice.h \
/usr/include/glib-2.0/glib/gcompletion.h \
/usr/include/glib-2.0/glib/gconvert.h \
/usr/include/glib-2.0/glib/gdataset.h \
- /usr/include/glib-2.0/glib/gdate.h /usr/include/glib-2.0/glib/gdir.h \
+ /usr/include/glib-2.0/glib/gdate.h /usr/include/time.h \
+ /usr/include/bits/time.h /usr/include/bits/types.h \
+ /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
+ /usr/include/glib-2.0/glib/gdir.h \
/usr/include/glib-2.0/glib/gfileutils.h \
/usr/include/glib-2.0/glib/ghash.h /usr/include/glib-2.0/glib/ghook.h \
/usr/include/glib-2.0/glib/giochannel.h \
/usr/include/glib-2.0/glib/gstring.h \
/usr/include/glib-2.0/glib/gunicode.h \
/usr/include/glib-2.0/glib/gutils.h \
- /usr/lib/gcc/i386-redhat-linux/3.4.2/include/stdarg.h \
+ /usr/lib/gcc/i486-linux-gnu/4.0.3/include/stdarg.h \
+ /usr/include/glib-2.0/glib/gkeyfile.h \
+ /usr/include/glib-2.0/glib/gmappedfile.h \
/usr/include/glib-2.0/glib/gmarkup.h \
/usr/include/glib-2.0/glib/gmessages.h \
- /usr/include/glib-2.0/glib/gnode.h \
+ /usr/include/glib-2.0/glib/gnode.h /usr/include/glib-2.0/glib/goption.h \
/usr/include/glib-2.0/glib/gpattern.h \
/usr/include/glib-2.0/glib/gprimes.h \
/usr/include/glib-2.0/glib/gqsort.h /usr/include/glib-2.0/glib/gqueue.h \
/usr/include/glib-2.0/glib/gthreadpool.h \
/usr/include/glib-2.0/glib/gtimer.h /usr/include/glib-2.0/glib/gtree.h \
/usr/include/gtk-2.0/gtk/gtk.h /usr/include/gtk-2.0/gdk/gdk.h \
- /usr/include/gtk-2.0/gdk/gdkcolor.h /usr/include/gtk-2.0/gdk/gdktypes.h \
+ /usr/include/gtk-2.0/gdk/gdkcairo.h /usr/include/gtk-2.0/gdk/gdkcolor.h \
+ /usr/include/cairo/cairo.h /usr/include/cairo/cairo-features.h \
+ /usr/include/gtk-2.0/gdk/gdktypes.h \
/usr/include/pango-1.0/pango/pango.h \
/usr/include/pango-1.0/pango/pango-attributes.h \
/usr/include/pango-1.0/pango/pango-font.h \
/usr/include/pango-1.0/pango/pango-layout.h \
/usr/include/pango-1.0/pango/pango-glyph-item.h \
/usr/include/pango-1.0/pango/pango-tabs.h \
+ /usr/include/pango-1.0/pango/pango-renderer.h \
/usr/lib/gtk-2.0/include/gdkconfig.h \
- /usr/include/gtk-2.0/gdk/gdkcursor.h \
+ /usr/include/gtk-2.0/gdk/gdkpixbuf.h /usr/include/gtk-2.0/gdk/gdkrgb.h \
/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h \
/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h \
+ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-core.h \
+ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-transform.h \
+ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-animation.h \
+ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h \
+ /usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-io.h /usr/include/stdio.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/include/bits/wchar.h /usr/include/gconv.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h /usr/include/glib-2.0/gmodule.h \
/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h \
/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h \
+ /usr/include/pango-1.0/pango/pangocairo.h \
+ /usr/include/gtk-2.0/gdk/gdkcursor.h \
/usr/include/gtk-2.0/gdk/gdkdisplay.h \
/usr/include/gtk-2.0/gdk/gdkevents.h /usr/include/gtk-2.0/gdk/gdkdnd.h \
/usr/include/gtk-2.0/gdk/gdkinput.h \
/usr/include/gtk-2.0/gdk/gdkdrawable.h /usr/include/gtk-2.0/gdk/gdkgc.h \
- /usr/include/gtk-2.0/gdk/gdkrgb.h \
/usr/include/gtk-2.0/gdk/gdkenumtypes.h \
/usr/include/gtk-2.0/gdk/gdkfont.h /usr/include/gtk-2.0/gdk/gdkimage.h \
/usr/include/gtk-2.0/gdk/gdkkeys.h \
/usr/include/gtk-2.0/gdk/gdkdisplaymanager.h \
/usr/include/gtk-2.0/gdk/gdkpango.h \
- /usr/include/gtk-2.0/gdk/gdkpixbuf.h \
/usr/include/gtk-2.0/gdk/gdkpixmap.h \
/usr/include/gtk-2.0/gdk/gdkproperty.h \
/usr/include/gtk-2.0/gdk/gdkregion.h \
/usr/include/gtk-2.0/gdk/gdkspawn.h \
/usr/include/gtk-2.0/gdk/gdkvisual.h \
/usr/include/gtk-2.0/gdk/gdkwindow.h \
+ /usr/include/gtk-2.0/gtk/gtkaboutdialog.h \
+ /usr/include/gtk-2.0/gtk/gtkdialog.h \
+ /usr/include/gtk-2.0/gtk/gtkwindow.h \
/usr/include/gtk-2.0/gtk/gtkaccelgroup.h \
- /usr/include/gtk-2.0/gtk/gtkenums.h \
- /usr/include/gtk-2.0/gtk/gtkaccellabel.h \
- /usr/include/gtk-2.0/gtk/gtklabel.h /usr/include/gtk-2.0/gtk/gtkmisc.h \
+ /usr/include/gtk-2.0/gtk/gtkenums.h /usr/include/gtk-2.0/gtk/gtkbin.h \
+ /usr/include/gtk-2.0/gtk/gtkcontainer.h \
/usr/include/gtk-2.0/gtk/gtkwidget.h \
/usr/include/gtk-2.0/gtk/gtkobject.h \
/usr/include/gtk-2.0/gtk/gtktypeutils.h \
/usr/include/atk-1.0/atk/atkobject.h \
/usr/include/atk-1.0/atk/atkstate.h \
/usr/include/atk-1.0/atk/atkrelationtype.h \
- /usr/include/gtk-2.0/gtk/gtkwindow.h /usr/include/gtk-2.0/gtk/gtkbin.h \
- /usr/include/gtk-2.0/gtk/gtkcontainer.h \
+ /usr/include/gtk-2.0/gtk/gtkaccellabel.h \
+ /usr/include/gtk-2.0/gtk/gtklabel.h /usr/include/gtk-2.0/gtk/gtkmisc.h \
/usr/include/gtk-2.0/gtk/gtkmenu.h \
/usr/include/gtk-2.0/gtk/gtkmenushell.h \
/usr/include/gtk-2.0/gtk/gtkaccelmap.h \
/usr/include/gtk-2.0/gtk/gtkbox.h \
/usr/include/gtk-2.0/gtk/gtkbindings.h \
/usr/include/gtk-2.0/gtk/gtkbutton.h \
+ /usr/include/gtk-2.0/gtk/gtkimage.h \
/usr/include/gtk-2.0/gtk/gtkcalendar.h \
/usr/include/gtk-2.0/gtk/gtksignal.h \
/usr/include/gtk-2.0/gtk/gtkmarshal.h \
/usr/include/gtk-2.0/gtk/gtktreeviewcolumn.h \
/usr/include/gtk-2.0/gtk/gtktreemodel.h \
/usr/include/gtk-2.0/gtk/gtktreesortable.h \
- /usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h \
+ /usr/include/gtk-2.0/gtk/gtkcellrenderercombo.h \
/usr/include/gtk-2.0/gtk/gtkcellrenderertext.h \
+ /usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h \
+ /usr/include/gtk-2.0/gtk/gtkcellrendererprogress.h \
/usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h \
+ /usr/include/gtk-2.0/gtk/gtkcellview.h \
/usr/include/gtk-2.0/gtk/gtkcheckbutton.h \
/usr/include/gtk-2.0/gtk/gtktogglebutton.h \
/usr/include/gtk-2.0/gtk/gtkcheckmenuitem.h \
/usr/include/gtk-2.0/gtk/gtkvscrollbar.h \
/usr/include/gtk-2.0/gtk/gtkcolorbutton.h \
/usr/include/gtk-2.0/gtk/gtkcolorsel.h \
- /usr/include/gtk-2.0/gtk/gtkdialog.h /usr/include/gtk-2.0/gtk/gtkvbox.h \
+ /usr/include/gtk-2.0/gtk/gtkvbox.h \
/usr/include/gtk-2.0/gtk/gtkcolorseldialog.h \
/usr/include/gtk-2.0/gtk/gtkcombo.h /usr/include/gtk-2.0/gtk/gtkhbox.h \
/usr/include/gtk-2.0/gtk/gtkcombobox.h \
/usr/include/gtk-2.0/gtk/gtkexpander.h \
/usr/include/gtk-2.0/gtk/gtkfilesel.h \
/usr/include/gtk-2.0/gtk/gtkfixed.h \
- /usr/include/gtk-2.0/gtk/gtkfilechooserdialog.h \
+ /usr/include/gtk-2.0/gtk/gtkfilechooserbutton.h \
/usr/include/gtk-2.0/gtk/gtkfilechooser.h \
/usr/include/gtk-2.0/gtk/gtkfilefilter.h \
+ /usr/include/gtk-2.0/gtk/gtkfilechooserdialog.h \
+ /usr/include/gtk-2.0/gtk/gtkfilechooser.h \
/usr/include/gtk-2.0/gtk/gtkfilechooserwidget.h \
/usr/include/gtk-2.0/gtk/gtkfontbutton.h \
/usr/include/gtk-2.0/gtk/gtkfontsel.h \
/usr/include/gtk-2.0/gtk/gtkseparator.h \
/usr/include/gtk-2.0/gtk/gtkiconfactory.h \
/usr/include/gtk-2.0/gtk/gtkicontheme.h \
- /usr/include/gtk-2.0/gtk/gtkimage.h \
+ /usr/include/gtk-2.0/gtk/gtkiconview.h \
/usr/include/gtk-2.0/gtk/gtkimagemenuitem.h \
/usr/include/gtk-2.0/gtk/gtkimcontextsimple.h \
/usr/include/gtk-2.0/gtk/gtkimmulticontext.h \
/usr/include/gtk-2.0/gtk/gtklistitem.h \
/usr/include/gtk-2.0/gtk/gtkmain.h \
/usr/include/gtk-2.0/gtk/gtkmenubar.h \
+ /usr/include/gtk-2.0/gtk/gtkmenutoolbutton.h \
+ /usr/include/gtk-2.0/gtk/gtkmenu.h \
+ /usr/include/gtk-2.0/gtk/gtktoolbutton.h \
+ /usr/include/gtk-2.0/gtk/gtktoolitem.h \
+ /usr/include/gtk-2.0/gtk/gtktooltips.h \
/usr/include/gtk-2.0/gtk/gtkmessagedialog.h \
+ /usr/include/gtk-2.0/gtk/gtkmodules.h \
/usr/include/gtk-2.0/gtk/gtknotebook.h \
/usr/include/gtk-2.0/gtk/gtkoldeditable.h \
/usr/include/gtk-2.0/gtk/gtkoptionmenu.h \
/usr/include/gtk-2.0/gtk/gtkradiotoolbutton.h \
/usr/include/gtk-2.0/gtk/gtktoggletoolbutton.h \
/usr/include/gtk-2.0/gtk/gtktoolbutton.h \
- /usr/include/gtk-2.0/gtk/gtktoolitem.h \
- /usr/include/gtk-2.0/gtk/gtktooltips.h \
/usr/include/gtk-2.0/gtk/gtkscrolledwindow.h \
/usr/include/gtk-2.0/gtk/gtkviewport.h \
/usr/include/gtk-2.0/gtk/gtkseparatormenuitem.h \
/usr/include/gtk-2.0/gtk/gtkvpaned.h \
/usr/include/gtk-2.0/gtk/gtkvruler.h \
/usr/include/gtk-2.0/gtk/gtkvscale.h \
- /usr/include/gtk-2.0/gtk/gtkvseparator.h /usr/include/stdio.h \
- /usr/include/bits/types.h /usr/include/bits/wordsize.h \
- /usr/include/bits/typesizes.h /usr/include/libio.h \
- /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
- /usr/include/gconv.h /usr/include/bits/stdio_lim.h \
- /usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \
- /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h \
- /usr/include/endian.h /usr/include/bits/endian.h \
- /usr/include/sys/select.h /usr/include/bits/select.h \
- /usr/include/bits/sigset.h /usr/include/bits/time.h \
+ /usr/include/gtk-2.0/gtk/gtkvseparator.h /usr/include/stdlib.h \
+ /usr/include/sys/types.h /usr/include/endian.h \
+ /usr/include/bits/endian.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/bits/sigset.h \
/usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
/usr/include/bits/sched.h /usr/include/alloca.h /usr/include/string.h \
/usr/include/bits/string.h /usr/include/bits/string2.h \
/usr/include/glib-2.0/glib/gmacros.h:
-/usr/lib/gcc/i386-redhat-linux/3.4.2/include/stddef.h:
+/usr/lib/gcc/i486-linux-gnu/4.0.3/include/stddef.h:
-/usr/lib/gcc/i386-redhat-linux/3.4.2/include/limits.h:
+/usr/lib/gcc/i486-linux-gnu/4.0.3/include/limits.h:
-/usr/lib/gcc/i386-redhat-linux/3.4.2/include/syslimits.h:
+/usr/lib/gcc/i486-linux-gnu/4.0.3/include/syslimits.h:
/usr/include/limits.h:
/usr/include/bits/posix2_lim.h:
-/usr/lib/gcc/i386-redhat-linux/3.4.2/include/float.h:
+/usr/lib/gcc/i486-linux-gnu/4.0.3/include/float.h:
/usr/include/glib-2.0/glib/garray.h:
/usr/include/glib-2.0/glib/gmem.h:
+/usr/include/glib-2.0/glib/gslice.h:
+
/usr/include/glib-2.0/glib/gcompletion.h:
/usr/include/glib-2.0/glib/gconvert.h:
/usr/include/glib-2.0/glib/gdate.h:
+/usr/include/time.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
/usr/include/glib-2.0/glib/gdir.h:
/usr/include/glib-2.0/glib/gfileutils.h:
/usr/include/glib-2.0/glib/gutils.h:
-/usr/lib/gcc/i386-redhat-linux/3.4.2/include/stdarg.h:
+/usr/lib/gcc/i486-linux-gnu/4.0.3/include/stdarg.h:
+
+/usr/include/glib-2.0/glib/gkeyfile.h:
+
+/usr/include/glib-2.0/glib/gmappedfile.h:
/usr/include/glib-2.0/glib/gmarkup.h:
/usr/include/glib-2.0/glib/gnode.h:
+/usr/include/glib-2.0/glib/goption.h:
+
/usr/include/glib-2.0/glib/gpattern.h:
/usr/include/glib-2.0/glib/gprimes.h:
/usr/include/gtk-2.0/gdk/gdk.h:
+/usr/include/gtk-2.0/gdk/gdkcairo.h:
+
/usr/include/gtk-2.0/gdk/gdkcolor.h:
+/usr/include/cairo/cairo.h:
+
+/usr/include/cairo/cairo-features.h:
+
/usr/include/gtk-2.0/gdk/gdktypes.h:
/usr/include/pango-1.0/pango/pango.h:
/usr/include/pango-1.0/pango/pango-tabs.h:
+/usr/include/pango-1.0/pango/pango-renderer.h:
+
/usr/lib/gtk-2.0/include/gdkconfig.h:
-/usr/include/gtk-2.0/gdk/gdkcursor.h:
+/usr/include/gtk-2.0/gdk/gdkpixbuf.h:
+
+/usr/include/gtk-2.0/gdk/gdkrgb.h:
/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf.h:
/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h:
+/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-core.h:
+
+/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-transform.h:
+
+/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-animation.h:
+
+/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h:
+
+/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-io.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/glib-2.0/gmodule.h:
+
/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h:
/usr/include/gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h:
+/usr/include/pango-1.0/pango/pangocairo.h:
+
+/usr/include/gtk-2.0/gdk/gdkcursor.h:
+
/usr/include/gtk-2.0/gdk/gdkdisplay.h:
/usr/include/gtk-2.0/gdk/gdkevents.h:
/usr/include/gtk-2.0/gdk/gdkgc.h:
-/usr/include/gtk-2.0/gdk/gdkrgb.h:
-
/usr/include/gtk-2.0/gdk/gdkenumtypes.h:
/usr/include/gtk-2.0/gdk/gdkfont.h:
/usr/include/gtk-2.0/gdk/gdkpango.h:
-/usr/include/gtk-2.0/gdk/gdkpixbuf.h:
-
/usr/include/gtk-2.0/gdk/gdkpixmap.h:
/usr/include/gtk-2.0/gdk/gdkproperty.h:
/usr/include/gtk-2.0/gdk/gdkwindow.h:
+/usr/include/gtk-2.0/gtk/gtkaboutdialog.h:
+
+/usr/include/gtk-2.0/gtk/gtkdialog.h:
+
+/usr/include/gtk-2.0/gtk/gtkwindow.h:
+
/usr/include/gtk-2.0/gtk/gtkaccelgroup.h:
/usr/include/gtk-2.0/gtk/gtkenums.h:
-/usr/include/gtk-2.0/gtk/gtkaccellabel.h:
-
-/usr/include/gtk-2.0/gtk/gtklabel.h:
+/usr/include/gtk-2.0/gtk/gtkbin.h:
-/usr/include/gtk-2.0/gtk/gtkmisc.h:
+/usr/include/gtk-2.0/gtk/gtkcontainer.h:
/usr/include/gtk-2.0/gtk/gtkwidget.h:
/usr/include/atk-1.0/atk/atkrelationtype.h:
-/usr/include/gtk-2.0/gtk/gtkwindow.h:
+/usr/include/gtk-2.0/gtk/gtkaccellabel.h:
-/usr/include/gtk-2.0/gtk/gtkbin.h:
+/usr/include/gtk-2.0/gtk/gtklabel.h:
-/usr/include/gtk-2.0/gtk/gtkcontainer.h:
+/usr/include/gtk-2.0/gtk/gtkmisc.h:
/usr/include/gtk-2.0/gtk/gtkmenu.h:
/usr/include/gtk-2.0/gtk/gtkbutton.h:
+/usr/include/gtk-2.0/gtk/gtkimage.h:
+
/usr/include/gtk-2.0/gtk/gtkcalendar.h:
/usr/include/gtk-2.0/gtk/gtksignal.h:
/usr/include/gtk-2.0/gtk/gtktreesortable.h:
-/usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h:
+/usr/include/gtk-2.0/gtk/gtkcellrenderercombo.h:
/usr/include/gtk-2.0/gtk/gtkcellrenderertext.h:
+/usr/include/gtk-2.0/gtk/gtkcellrendererpixbuf.h:
+
+/usr/include/gtk-2.0/gtk/gtkcellrendererprogress.h:
+
/usr/include/gtk-2.0/gtk/gtkcellrenderertoggle.h:
+/usr/include/gtk-2.0/gtk/gtkcellview.h:
+
/usr/include/gtk-2.0/gtk/gtkcheckbutton.h:
/usr/include/gtk-2.0/gtk/gtktogglebutton.h:
/usr/include/gtk-2.0/gtk/gtkcolorsel.h:
-/usr/include/gtk-2.0/gtk/gtkdialog.h:
-
/usr/include/gtk-2.0/gtk/gtkvbox.h:
/usr/include/gtk-2.0/gtk/gtkcolorseldialog.h:
/usr/include/gtk-2.0/gtk/gtkfixed.h:
-/usr/include/gtk-2.0/gtk/gtkfilechooserdialog.h:
+/usr/include/gtk-2.0/gtk/gtkfilechooserbutton.h:
/usr/include/gtk-2.0/gtk/gtkfilechooser.h:
/usr/include/gtk-2.0/gtk/gtkfilefilter.h:
+/usr/include/gtk-2.0/gtk/gtkfilechooserdialog.h:
+
+/usr/include/gtk-2.0/gtk/gtkfilechooser.h:
+
/usr/include/gtk-2.0/gtk/gtkfilechooserwidget.h:
/usr/include/gtk-2.0/gtk/gtkfontbutton.h:
/usr/include/gtk-2.0/gtk/gtkicontheme.h:
-/usr/include/gtk-2.0/gtk/gtkimage.h:
+/usr/include/gtk-2.0/gtk/gtkiconview.h:
/usr/include/gtk-2.0/gtk/gtkimagemenuitem.h:
/usr/include/gtk-2.0/gtk/gtkmenubar.h:
+/usr/include/gtk-2.0/gtk/gtkmenutoolbutton.h:
+
+/usr/include/gtk-2.0/gtk/gtkmenu.h:
+
+/usr/include/gtk-2.0/gtk/gtktoolbutton.h:
+
+/usr/include/gtk-2.0/gtk/gtktoolitem.h:
+
+/usr/include/gtk-2.0/gtk/gtktooltips.h:
+
/usr/include/gtk-2.0/gtk/gtkmessagedialog.h:
+/usr/include/gtk-2.0/gtk/gtkmodules.h:
+
/usr/include/gtk-2.0/gtk/gtknotebook.h:
/usr/include/gtk-2.0/gtk/gtkoldeditable.h:
/usr/include/gtk-2.0/gtk/gtktoolbutton.h:
-/usr/include/gtk-2.0/gtk/gtktoolitem.h:
-
-/usr/include/gtk-2.0/gtk/gtktooltips.h:
-
/usr/include/gtk-2.0/gtk/gtkscrolledwindow.h:
/usr/include/gtk-2.0/gtk/gtkviewport.h:
/usr/include/gtk-2.0/gtk/gtkvseparator.h:
-/usr/include/stdio.h:
-
-/usr/include/bits/types.h:
-
-/usr/include/bits/wordsize.h:
-
-/usr/include/bits/typesizes.h:
-
-/usr/include/libio.h:
-
-/usr/include/_G_config.h:
-
-/usr/include/wchar.h:
-
-/usr/include/bits/wchar.h:
-
-/usr/include/gconv.h:
-
-/usr/include/bits/stdio_lim.h:
-
-/usr/include/bits/sys_errlist.h:
-
-/usr/include/bits/stdio.h:
-
/usr/include/stdlib.h:
/usr/include/sys/types.h:
-/usr/include/time.h:
-
/usr/include/endian.h:
/usr/include/bits/endian.h:
/usr/include/bits/sigset.h:
-/usr/include/bits/time.h:
-
/usr/include/sys/sysmacros.h:
/usr/include/bits/pthreadtypes.h: