aboutsummaryrefslogtreecommitdiff
path: root/src/target
diff options
context:
space:
mode:
authorPaul Fertser <fercerpav@gmail.com>2013-07-08 10:10:19 +0400
committerSpencer Oliver <spen@spen-soft.co.uk>2013-07-15 09:54:44 +0000
commit2d146a93217239b0f869aea5c6cae57a27db6744 (patch)
treef9871af1f0ba47fc8c658c43f982789b3ec0f67e /src/target
parent80d01ca975b3e00e9aba0089a4d0a5c7d8e3f2e0 (diff)
downloadriscv-openocd-2d146a93217239b0f869aea5c6cae57a27db6744.zip
riscv-openocd-2d146a93217239b0f869aea5c6cae57a27db6744.tar.gz
riscv-openocd-2d146a93217239b0f869aea5c6cae57a27db6744.tar.bz2
oocd_trace: fix warnings
gcc (Gentoo Hardened 4.6.3 p1.13) produces a warning about the variable assigned but not used. write() can sometimes write less than the specified count so it's marked with warn_unused_result in the system headers and its return value can't be ignored. The most correct solution would be to have a loop writing the buffer until all bytes are written or an error is returned but here it's impractical. Change-Id: I75f7482e2b26fe0e6d70d34947518d3a8f0afe5c Signed-off-by: Paul Fertser <fercerpav@gmail.com> Reviewed-on: http://openocd.zylin.com/1490 Reviewed-by: Laszlo Papp <lpapp@kde.org> Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
Diffstat (limited to 'src/target')
-rw-r--r--src/target/oocd_trace.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/target/oocd_trace.c b/src/target/oocd_trace.c
index 2969cc1..e723efe 100644
--- a/src/target/oocd_trace.c
+++ b/src/target/oocd_trace.c
@@ -38,6 +38,8 @@ static int oocd_trace_read_reg(struct oocd_trace *oocd_trace, int reg, uint32_t
cmd = 0x10 | (reg & 0x7);
bytes_written = write(oocd_trace->tty_fd, &cmd, 1);
+ if (bytes_written < 1)
+ return ERROR_FAIL;
bytes_to_read = 4;
while (bytes_to_read > 0) {
@@ -62,6 +64,9 @@ static int oocd_trace_write_reg(struct oocd_trace *oocd_trace, int reg, uint32_t
data[4] = (value & 0xff000000) >> 24;
bytes_written = write(oocd_trace->tty_fd, data, 5);
+ if (bytes_written < 5)
+ return ERROR_FAIL;
+
LOG_DEBUG("reg #%i: 0x%8.8x", reg, value);
return ERROR_OK;
@@ -78,6 +83,8 @@ static int oocd_trace_read_memory(struct oocd_trace *oocd_trace, uint8_t *data,
cmd = 0x20;
bytes_written = write(oocd_trace->tty_fd, &cmd, 1);
+ if (bytes_written < 1)
+ return ERROR_FAIL;
bytes_to_read = size * 16;
while (bytes_to_read > 0) {
@@ -358,6 +365,8 @@ COMMAND_HANDLER(handle_oocd_trace_resync_command)
cmd_array[0] = 0xf0;
bytes_written = write(oocd_trace->tty_fd, cmd_array, 1);
+ if (bytes_written < 1)
+ return ERROR_FAIL;
command_print(CMD_CTX, "requesting traceclock resync");
LOG_DEBUG("resyncing traceclk pll");