summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Wielaard <mjw@redhat.com>2014-01-09 22:56:35 +0100
committerChanho Park <chanho61.park@samsung.com>2014-08-22 20:38:24 +0900
commita12d161749c556abf3d342896cc8d4dc1f41a1ca (patch)
treeff633de25bd481e4b9b86e39511f5500bb15290a
parent7f40999b3db608961a2ddf59b9c56b611a856611 (diff)
downloadltrace-a12d161749c556abf3d342896cc8d4dc1f41a1ca.tar.gz
ltrace-a12d161749c556abf3d342896cc8d4dc1f41a1ca.tar.bz2
ltrace-a12d161749c556abf3d342896cc8d4dc1f41a1ca.zip
Initialize libsym early in trace.c to help the compiler.
GCC 4.4.7 isn't smart enough to realize own_libsym will always be zero when it sees the goto done which might jump over the initialization of libsym. And so will produce a warning like: cc1: warnings being treated as errors trace.c: In function ‘ifunc_ret_hit’: trace.c:1433: error: ‘libsym’ may be used uninitialized in this function
-rw-r--r--sysdeps/linux-gnu/trace.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sysdeps/linux-gnu/trace.c b/sysdeps/linux-gnu/trace.c
index e648b8f..0abb545 100644
--- a/sysdeps/linux-gnu/trace.c
+++ b/sysdeps/linux-gnu/trace.c
@@ -1390,6 +1390,7 @@ ifunc_ret_hit(struct breakpoint *bp, struct process *proc)
struct breakpoint *nbp = NULL;
int own_libsym = 0;
+ struct library_symbol *libsym = NULL;
struct value value;
value_init(&value, proc, NULL, type_get_voidptr(), 0);
@@ -1430,8 +1431,7 @@ ifunc_ret_hit(struct breakpoint *bp, struct process *proc)
/* Look if we already have a symbol with this address.
* Otherwise create a new one. */
- struct library_symbol *libsym
- = library_each_symbol(lib, NULL, libsym_at_address, &u.a);
+ libsym = library_each_symbol(lib, NULL, libsym_at_address, &u.a);
if (libsym == NULL) {
libsym = malloc(sizeof *libsym);
char *name = strdup(bp->os.ret_libsym->name);