I'm planning to linke strace with libiberty for mangling C++ symbol appearted in stack trace enabled with -k option.
Both the names, xmalloc and xcalloc, are already used in the library. Therefore I rename the symbols defined in strace. --- bpf.c | 2 +- count.c | 4 ++-- dyxlat.c | 4 ++-- filter_qualify.c | 2 +- mmsghdr.c | 2 +- number_set.c | 2 +- pathtrace.c | 2 +- perf.c | 4 ++-- strace.c | 4 ++-- syscall.c | 4 ++-- unwind.c | 8 ++++---- util.c | 4 ++-- xmalloc.c | 6 +++--- xmalloc.h | 4 ++-- 14 files changed, 26 insertions(+), 26 deletions(-) diff --git a/bpf.c b/bpf.c index 59d1e749..4706bcfd 100644 --- a/bpf.c +++ b/bpf.c @@ -411,7 +411,7 @@ SYS_FUNC(bpf) if (!buf) { page_size = get_pagesize(); - buf = xmalloc(page_size); + buf = strace_malloc(page_size); } printxval(bpf_commands, cmd, "BPF_???"); diff --git a/count.c b/count.c index f5e4f12f..bfcd7eca 100644 --- a/count.c +++ b/count.c @@ -59,7 +59,7 @@ count_syscall(struct tcb *tcp, const struct timeval *syscall_exiting_tv) return; if (!counts) - counts = xcalloc(nsyscalls, sizeof(*counts)); + counts = strace_calloc(nsyscalls, sizeof(*counts)); cc = &counts[tcp->scno]; cc->calls++; @@ -169,7 +169,7 @@ call_summary_pers(FILE *outf) fprintf(outf, "%6.6s %11.11s %11.11s %9.9s %9.9s %s\n", dashes, dashes, dashes, dashes, dashes, dashes); - sorted_count = xcalloc(sizeof(int), nsyscalls); + sorted_count = strace_calloc(sizeof(int), nsyscalls); call_cum = error_cum = tv_cum.tv_sec = tv_cum.tv_usec = 0; if (overhead.tv_sec == -1) { tv_mul(&overhead, &shortest, 8); diff --git a/dyxlat.c b/dyxlat.c index ef6bef4f..d9b86100 100644 --- a/dyxlat.c +++ b/dyxlat.c @@ -41,11 +41,11 @@ struct dyxlat { struct dyxlat * dyxlat_alloc(const size_t nmemb) { - struct dyxlat *const dyxlat = xmalloc(sizeof(*dyxlat)); + struct dyxlat *const dyxlat = strace_malloc(sizeof(*dyxlat)); dyxlat->used = 1; dyxlat->allocated = nmemb ? nmemb : 16; - dyxlat->xlat = xcalloc(dyxlat->allocated, sizeof(struct xlat)); + dyxlat->xlat = strace_calloc(dyxlat->allocated, sizeof(struct xlat)); MARK_END(dyxlat->xlat[0]); return dyxlat; diff --git a/filter_qualify.c b/filter_qualify.c index 5b0ef28c..09a42c63 100644 --- a/filter_qualify.c +++ b/filter_qualify.c @@ -283,7 +283,7 @@ qualify_inject_common(const char *const str, alloc_number_set_array(SUPPORTED_PERSONALITIES); } if (!inject_vec[p]) { - inject_vec[p] = xcalloc(nsyscall_vec[p], + inject_vec[p] = strace_calloc(nsyscall_vec[p], sizeof(*inject_vec[p])); } diff --git a/mmsghdr.c b/mmsghdr.c index c9e6cf0b..008e9fd8 100644 --- a/mmsghdr.c +++ b/mmsghdr.c @@ -106,7 +106,7 @@ save_mmsgvec_namelen(struct tcb *const tcp, kernel_ulong_t addr, const size_t data_size = offsetof(struct mmsgvec_data, namelen) + sizeof(int) * len; - struct mmsgvec_data *const data = xmalloc(data_size); + struct mmsgvec_data *const data = strace_malloc(data_size); data->timeout = xstrdup(timeout); unsigned int i, fetched; diff --git a/number_set.c b/number_set.c index b8aa28c7..ae0fecc1 100644 --- a/number_set.c +++ b/number_set.c @@ -128,7 +128,7 @@ invert_number_set_array(struct number_set *const set, const unsigned int nmemb) struct number_set * alloc_number_set_array(const unsigned int nmemb) { - return xcalloc(nmemb, sizeof(struct number_set)); + return strace_calloc(nmemb, sizeof(struct number_set)); } void diff --git a/pathtrace.c b/pathtrace.c index 52582380..956a341b 100644 --- a/pathtrace.c +++ b/pathtrace.c @@ -291,7 +291,7 @@ pathtrace_match_set(struct tcb *tcp, struct path_set *set) if (nfds > 1024*1024) nfds = 1024*1024; fdsize = (((nfds + 7) / 8) + current_wordsize-1) & -current_wordsize; - fds = xmalloc(fdsize); + fds = strace_malloc(fdsize); for (i = 1; i <= 3; ++i) { if (args[i] == 0) diff --git a/perf.c b/perf.c index 6af0f42a..498ba42a 100644 --- a/perf.c +++ b/perf.c @@ -93,7 +93,7 @@ fetch_perf_event_attr(struct tcb *const tcp, const kernel_ulong_t addr) /* Size should be multiple of 8, but kernel doesn't check for it */ /* size &= ~7; */ - attr = xcalloc(1, sizeof(*attr)); + attr = strace_calloc(1, sizeof(*attr)); if (umoven_or_printaddr(tcp, addr, size, attr)) { free(attr); @@ -101,7 +101,7 @@ fetch_perf_event_attr(struct tcb *const tcp, const kernel_ulong_t addr) return 1; } - desc = xmalloc(sizeof(*desc)); + desc = strace_malloc(sizeof(*desc)); desc->attr = attr; desc->size = size; diff --git a/strace.c b/strace.c index 6ed86a6f..cbbee704 100644 --- a/strace.c +++ b/strace.c @@ -693,7 +693,7 @@ expand_tcbtab(void) new_tcbtabsize = alloc_tcbtabsize = 1; } - newtcbs = xcalloc(alloc_tcbtabsize, sizeof(newtcbs[0])); + newtcbs = strace_calloc(alloc_tcbtabsize, sizeof(newtcbs[0])); tcbtab = xreallocarray(tcbtab, new_tcbtabsize, sizeof(tcbtab[0])); while (tcbtabsize < new_tcbtabsize) tcbtab[tcbtabsize++] = newtcbs++; @@ -1759,7 +1759,7 @@ init(int argc, char *argv[]) tflag = 1; } - acolumn_spaces = xmalloc(acolumn + 1); + acolumn_spaces = strace_malloc(acolumn + 1); memset(acolumn_spaces, ' ', acolumn); acolumn_spaces[acolumn] = '\0'; diff --git a/syscall.c b/syscall.c index b1047feb..7efe83b6 100644 --- a/syscall.c +++ b/syscall.c @@ -552,7 +552,7 @@ tamper_with_syscall_entering(struct tcb *tcp, unsigned int *signo) { if (!tcp->inject_vec[current_personality]) { tcp->inject_vec[current_personality] = - xcalloc(nsyscalls, sizeof(**inject_vec)); + strace_calloc(nsyscalls, sizeof(**inject_vec)); memcpy(tcp->inject_vec[current_personality], inject_vec[current_personality], nsyscalls * sizeof(**inject_vec)); @@ -1197,7 +1197,7 @@ get_scno(struct tcb *tcp) tcp->s_ent = &sysent[tcp->scno]; tcp->qual_flg = qual_flags(tcp->scno); } else { - struct sysent_buf *s = xcalloc(1, sizeof(*s)); + struct sysent_buf *s = strace_calloc(1, sizeof(*s)); s->tcp = tcp; s->ent.nargs = MAX_ARGS; diff --git a/unwind.c b/unwind.c index c097e875..031795cc 100644 --- a/unwind.c +++ b/unwind.c @@ -115,7 +115,7 @@ unwind_tcb_init(struct tcb *tcp) if (!tcp->libunwind_ui) perror_msg_and_die("_UPT_create"); - tcp->queue = xmalloc(sizeof(*tcp->queue)); + tcp->queue = strace_malloc(sizeof(*tcp->queue)); tcp->queue->head = NULL; tcp->queue->tail = NULL; } @@ -158,7 +158,7 @@ build_mmap_cache(struct tcb *tcp) return; } - cache_head = xcalloc(cur_array_size, sizeof(*cache_head)); + cache_head = strace_calloc(cur_array_size, sizeof(*cache_head)); while (fgets(buffer, sizeof(buffer), fp) != NULL) { struct mmap_cache_t *entry; @@ -366,7 +366,7 @@ stacktrace_walk(struct tcb *tcp, if (tcp->mmap_cache_size == 0) error_msg_and_die("bug: mmap_cache is empty"); - symbol_name = xmalloc(symbol_name_size); + symbol_name = strace_malloc(symbol_name_size); if (unw_init_remote(&cursor, libunwind_as, tcp->libunwind_ui) < 0) perror_msg_and_die("Can't initiate libunwind"); @@ -482,7 +482,7 @@ queue_put(struct queue_t *queue, { struct call_t *call; - call = xmalloc(sizeof(*call)); + call = strace_malloc(sizeof(*call)); call->output_line = sprint_call_or_error(binary_filename, symbol_name, function_offset, diff --git a/util.c b/util.c index 05c9fb80..bbbee16f 100644 --- a/util.c +++ b/util.c @@ -745,8 +745,8 @@ printstr_ex(struct tcb *const tcp, const kernel_ulong_t addr, * since we have a guarantee that max_strlen <= -1U / 4. */ - str = xmalloc(max_strlen + 1); - outstr = xmalloc(outstr_size); + str = strace_malloc(max_strlen + 1); + outstr = strace_malloc(outstr_size); } /* Fetch one byte more because string_quote may look one byte ahead. */ diff --git a/xmalloc.c b/xmalloc.c index 8ec475a1..88af17b3 100644 --- a/xmalloc.c +++ b/xmalloc.c @@ -49,7 +49,7 @@ die_out_of_memory(void) } void * -xmalloc(size_t size) +strace_malloc(size_t size) { void *p = malloc(size); @@ -60,7 +60,7 @@ xmalloc(size_t size) } void * -xcalloc(size_t nmemb, size_t size) +strace_calloc(size_t nmemb, size_t size) { void *p = calloc(nmemb, size); @@ -114,7 +114,7 @@ xstrndup(const char *str, size_t n) #ifdef HAVE_STRNDUP p = strndup(str, n); #else - p = xmalloc(n + 1); + p = strace_malloc(n + 1); #endif if (!p) diff --git a/xmalloc.h b/xmalloc.h index d1feeb91..ae47d96b 100644 --- a/xmalloc.h +++ b/xmalloc.h @@ -36,9 +36,9 @@ #include <stddef.h> #include "gcc_compat.h" -void *xcalloc(size_t nmemb, size_t size) +void *strace_calloc(size_t nmemb, size_t size) ATTRIBUTE_MALLOC ATTRIBUTE_ALLOC_SIZE((1, 2)); -void *xmalloc(size_t size) ATTRIBUTE_MALLOC ATTRIBUTE_ALLOC_SIZE((1)); +void *strace_malloc(size_t size) ATTRIBUTE_MALLOC ATTRIBUTE_ALLOC_SIZE((1)); void *xreallocarray(void *ptr, size_t nmemb, size_t size) ATTRIBUTE_ALLOC_SIZE((2, 3)); -- 2.13.6 ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Strace-devel mailing list Strace-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/strace-devel