Some fixes...
* read_config_file.c: initialise pt stack argument to stop warning
* summary.c: make show_summary() obey -C for demangaling function names
diff --git a/breakpoints.c b/breakpoints.c
index f91e62c..fbeac81 100644
--- a/breakpoints.c
+++ b/breakpoints.c
@@ -18,54 +18,58 @@
/*****************************************************************************/
-struct breakpoint *
-address2bpstruct(struct process * proc, void * addr) {
+struct breakpoint *address2bpstruct(struct process *proc, void *addr)
+{
return dict_find_entry(proc->breakpoints, addr);
}
-void
-insert_breakpoint(struct process * proc, void * addr) {
- struct breakpoint * sbp;
+void insert_breakpoint(struct process *proc, void *addr)
+{
+ struct breakpoint *sbp;
if (!proc->breakpoints) {
- proc->breakpoints = dict_init(dict_key2hash_int, dict_key_cmp_int);
- /* atexit(brk_dict_clear); */ /* why bother to do this on exit? */
+ proc->breakpoints =
+ dict_init(dict_key2hash_int, dict_key_cmp_int);
+ /* atexit(brk_dict_clear); *//* why bother to do this on exit? */
}
sbp = dict_find_entry(proc->breakpoints, addr);
if (!sbp) {
sbp = malloc(sizeof(struct breakpoint));
if (!sbp) {
- return; /* TODO FIXME XXX: error_mem */
+ return; /* TODO FIXME XXX: error_mem */
}
dict_enter(proc->breakpoints, addr, sbp);
sbp->addr = addr;
sbp->enabled = 0;
}
sbp->enabled++;
- if (sbp->enabled==1 && proc->pid) enable_breakpoint(proc->pid, sbp);
+ if (sbp->enabled == 1 && proc->pid)
+ enable_breakpoint(proc->pid, sbp);
}
-void
-delete_breakpoint(struct process * proc, void * addr) {
- struct breakpoint * sbp = dict_find_entry(proc->breakpoints, addr);
- assert(sbp); /* FIXME: remove after debugging has been done. */
+void delete_breakpoint(struct process *proc, void *addr)
+{
+ struct breakpoint *sbp = dict_find_entry(proc->breakpoints, addr);
+ assert(sbp); /* FIXME: remove after debugging has been done. */
/* This should only happen on out-of-memory conditions. */
- if (sbp == NULL) return;
+ if (sbp == NULL)
+ return;
sbp->enabled--;
- if (sbp->enabled == 0) disable_breakpoint(proc->pid, sbp);
+ if (sbp->enabled == 0)
+ disable_breakpoint(proc->pid, sbp);
assert(sbp->enabled >= 0);
}
-static void
-enable_bp_cb(void * addr, void * sbp, void * proc) {
+static void enable_bp_cb(void *addr, void *sbp, void *proc)
+{
if (((struct breakpoint *)sbp)->enabled) {
enable_breakpoint(((struct process *)proc)->pid, sbp);
}
}
-void
-enable_all_breakpoints(struct process * proc) {
+void enable_all_breakpoints(struct process *proc)
+{
if (proc->breakpoints_enabled <= 0) {
#ifdef __powerpc__
unsigned long a;
@@ -76,7 +80,8 @@
* dont enable the breakpoints
*/
if (opt_L) {
- a = ptrace(PTRACE_PEEKTEXT, proc->pid, proc->list_of_symbols->enter_addr, 0);
+ a = ptrace(PTRACE_PEEKTEXT, proc->pid,
+ proc->list_of_symbols->enter_addr, 0);
if (a == 0x0)
return;
}
@@ -84,21 +89,22 @@
debug(1, "Enabling breakpoints for pid %u...", proc->pid);
if (proc->breakpoints) {
- dict_apply_to_all(proc->breakpoints, enable_bp_cb, proc);
+ dict_apply_to_all(proc->breakpoints, enable_bp_cb,
+ proc);
}
}
proc->breakpoints_enabled = 1;
}
-static void
-disable_bp_cb(void * addr, void * sbp, void * proc) {
+static void disable_bp_cb(void *addr, void *sbp, void *proc)
+{
if (((struct breakpoint *)sbp)->enabled) {
disable_breakpoint(((struct process *)proc)->pid, sbp);
}
}
-void
-disable_all_breakpoints(struct process * proc) {
+void disable_all_breakpoints(struct process *proc)
+{
if (proc->breakpoints_enabled) {
debug(1, "Disabling breakpoints for pid %u...", proc->pid);
dict_apply_to_all(proc->breakpoints, disable_bp_cb, proc);
@@ -106,17 +112,17 @@
proc->breakpoints_enabled = 0;
}
-static void
-free_bp_cb(void * addr, void * sbp, void * data) {
+static void free_bp_cb(void *addr, void *sbp, void *data)
+{
assert(sbp);
free(sbp);
}
-void
-breakpoints_init(struct process * proc) {
- struct library_symbol * sym;
+void breakpoints_init(struct process *proc)
+{
+ struct library_symbol *sym;
- if (proc->breakpoints) { /* let's remove that struct */
+ if (proc->breakpoints) { /* let's remove that struct */
/* TODO FIXME XXX: free() all "struct breakpoint"s */
dict_apply_to_all(proc->breakpoints, free_bp_cb, NULL);
dict_clear(proc->breakpoints);
@@ -126,12 +132,12 @@
if (opt_L && proc->filename) {
proc->list_of_symbols = read_elf(proc->filename);
if (opt_e) {
- struct library_symbol ** tmp1 = &(proc->list_of_symbols);
- while(*tmp1) {
- struct opt_e_t * tmp2 = opt_e;
+ struct library_symbol **tmp1 = &(proc->list_of_symbols);
+ while (*tmp1) {
+ struct opt_e_t *tmp2 = opt_e;
int keep = !opt_e_enable;
- while(tmp2) {
+ while (tmp2) {
if (!strcmp((*tmp1)->name, tmp2->name)) {
keep = opt_e_enable;
}
@@ -149,7 +155,7 @@
}
sym = proc->list_of_symbols;
while (sym) {
- insert_breakpoint(proc, sym->enter_addr); /* proc->pid==0 delays enabling. */
+ insert_breakpoint(proc, sym->enter_addr); /* proc->pid==0 delays enabling. */
sym = sym->next;
}
proc->callstack_depth = 0;