is_mingw=no
is_win32=no
+
+AC_ARG_ENABLE(gccwarnings,
+ AS_HELP_STRING([--enable-gccwarnings], [Enable compiler warnings, default yes]),
+ [gcc_warnings=$enablevalue], [gcc_warnings=yes])
+
+
AC_ARG_ENABLE(parport,
AS_HELP_STRING([--enable-parport], [Enable building the pc parallel port driver]),
[build_parport=$enableval], [build_parport=no])
CFLAGS_FOR_BUILD="-g -O2"
else
CC_FOR_BUILD=$CC
- CFLAGS_FOR_BUILD=$CFLAGS
+ CFLAGS_FOR_BUILD="$CFLAGS $GCC_WARNINGS"
fi
+
+if test $gcc_warnings = yes; then
+ CFLAGS_FOR_BUILD="$CFLAGS_FOR_BUILD -Wall -Wmissing-prototypes -Wstrict-prototypes"
+fi
+
AC_MSG_RESULT([$CC_FOR_BUILD])
AC_SUBST(CC_FOR_BUILD)
AC_SUBST(CFLAGS_FOR_BUILD)
+AC_MSG_NOTICE([CFLAGS_FOR_BUILD = $CFLAGS_FOR_BUILD])
AC_MSG_CHECKING([for suffix of executable build tools])
if test $cross_compiling = yes; then
return NULL;
}
-int flash_get_bank_count()
+int flash_get_bank_count(void)
{
flash_bank_t *p;
int i = 0;
extern int flash_erase_address_range(target_t *target, u32 addr, u32 length);
extern int flash_write(target_t *target, image_t *image, u32 *written, int erase);
extern void flash_set_dirty(void);
-extern int flash_get_bank_count();
+extern int flash_get_bank_count(void);
extern int default_flash_blank_check(struct flash_bank_s *bank);
extern int default_flash_mem_blank_check(struct flash_bank_s *bank);
extern void command_set_output_handler(command_context_t* context, int (*output_handler)(struct command_context_s *context, const char* line), void *priv);
extern command_context_t* copy_command_context(command_context_t* context);
extern int command_context_mode(command_context_t *context, enum command_mode mode);
-extern command_context_t* command_init();
+extern command_context_t* command_init(void);
extern int command_done(command_context_t *context);
extern void command_print(command_context_t *context, char *format, ...);
extern void command_print_sameline(command_context_t *context, char *format, ...);
extern int log_register_commands(struct command_context_s *cmd_ctx);
extern int log_init(struct command_context_s *cmd_ctx);
extern int set_log_output(struct command_context_s *cmd_ctx, FILE *output);
-extern void keep_alive();
-extern void kept_alive();
+extern void keep_alive(void);
+extern void kept_alive(void);
typedef void (*log_callback_fn)(void *priv, const char *file, int line,
const char *function, const char *string);
extern int timeval_add(struct timeval *result, struct timeval *x, struct timeval *y);
extern int timeval_add_time(struct timeval *result, int sec, int usec);
/* gettimeofday() timeval in 64 bit ms */
-extern long long timeval_ms();
+extern long long timeval_ms(void);
typedef struct duration_s
{
}
}
-void amt_wait_scan_busy()
+void amt_wait_scan_busy(void)
{
int timeout = 4096;
u8 ar_status;
return ERROR_OK;
}
-void gw16012_end_state(state)
+void gw16012_end_state(int state)
{
if (tap_move_map[state] != -1)
end_state = state;
LOG_WARNING("No gw16012 port specified, using default '0x378' (LPT1)");
}
- LOG_DEBUG("requesting privileges for parallel port 0x%lx...", gw16012_port);
+ LOG_DEBUG("requesting privileges for parallel port 0x%lx...", (long unsigned)(gw16012_port) );
#if PARPORT_USE_GIVEIO == 1
if (gw16012_get_giveio_access() != 0)
#else /* PARPORT_USE_GIVEIO */
return t + offset;
}
-void cmd_queue_free()
+void cmd_queue_free(void)
{
cmd_queue_page_t *page = cmd_queue_pages;
cmd_queue_pages = NULL;
}
-static void jtag_prelude1()
+static void jtag_prelude1(void)
{
if (jtag_trst == 1)
{
return ERROR_OK;
}
-int jtag_validate_chain()
+int jtag_validate_chain(void)
{
jtag_device_t *device = jtag_devices;
int total_ir_length = 0;
/* run a TAP_TLR reset. End state is TAP_TLR, regardless
* of start state.
*/
-extern void jtag_add_tlr();
-extern int interface_jtag_add_tlr();
+extern void jtag_add_tlr(void);
+extern int interface_jtag_add_tlr(void);
/* Do not use jtag_add_pathmove() unless you need to, but do use it
* if you have to.
*
/* implementations of OpenOCD that uses multithreading needs to know when
* OpenOCD is sleeping. No-op in vanilla OpenOCD
*/
-void openocd_sleep_prelude()
+void openocd_sleep_prelude(void)
{
}
-void openocd_sleep_postlude()
+void openocd_sleep_postlude(void)
{
}
return ERROR_OK;
}
-int gdb_init()
+int gdb_init(void)
{
gdb_service_t *gdb_service;
target_t *target = targets;
struct target_s *target;
} gdb_service_t;
-extern int gdb_init();
+extern int gdb_init(void);
extern int gdb_register_commands(command_context_t *command_context);
#define ERROR_GDB_BUFFER_TOO_SMALL (-800)
return ERROR_OK;
}
-int remove_services()
+int remove_services(void)
{
service_t *c = services;
return ERROR_OK;
}
-extern void openocd_sleep_prelude();
-extern void openocd_sleep_postlude();
+extern void openocd_sleep_prelude(void);
+extern void openocd_sleep_postlude(void);
int server_loop(command_context_t *command_context)
{
}
#endif
-int server_init()
+int server_init(void)
{
#ifdef _WIN32
WORD wVersionRequested;
return ERROR_OK;
}
-int server_quit()
+int server_quit(void)
{
remove_services();
} service_t;
extern int add_service(char *name, enum connection_type type, unsigned short port, int max_connections, new_connection_handler_t new_connection_handler, input_handler_t input_handler, connection_closed_handler_t connection_closed_handler, void *priv);
-extern int server_init();
-extern int server_quit();
+extern int server_init(void);
+extern int server_quit(void);
extern int server_loop(command_context_t *command_context);
extern int server_register_commands(command_context_t *context);
if (values[i] > arm11_coproc_instruction_limits[i])
{
LOG_ERROR("Parameter %ld out of bounds (%d max). %s",
- i + 2, arm11_coproc_instruction_limits[i],
+ (long)(i + 2), arm11_coproc_instruction_limits[i],
read ? arm11_mrc_syntax : arm11_mcr_syntax);
return -1;
}
/* forward declarations */
int arm720t_target_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc, struct target_s *target);
int arm720t_init_target(struct command_context_s *cmd_ctx, struct target_s *target);
-int arm720t_quit();
+int arm720t_quit(void);
int arm720t_arch_state(struct target_s *target);
int arm720t_read_memory(struct target_s *target, u32 address, u32 size, u32 count, u8 *buffer);
int arm720t_write_memory(struct target_s *target, u32 address, u32 size, u32 count, u8 *buffer);
}
-int arm720t_quit()
+int arm720t_quit(void)
{
return ERROR_OK;
/* forward declarations */
int arm7tdmi_target_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc, struct target_s *target);
int arm7tdmi_init_target(struct command_context_s *cmd_ctx, struct target_s *target);
-int arm7tdmi_quit();
+int arm7tdmi_quit(void);
/* target function declarations */
int arm7tdmi_poll(struct target_s *target);
}
-int arm7tdmi_quit()
+int arm7tdmi_quit(void)
{
return ERROR_OK;
/* forward declarations */
int arm920t_target_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc, struct target_s *target);
int arm920t_init_target(struct command_context_s *cmd_ctx, struct target_s *target);
-int arm920t_quit();
+int arm920t_quit(void);
int arm920t_arch_state(struct target_s *target);
int arm920t_read_memory(struct target_s *target, u32 address, u32 size, u32 count, u8 *buffer);
int arm920t_write_memory(struct target_s *target, u32 address, u32 size, u32 count, u8 *buffer);
}
-int arm920t_quit()
+int arm920t_quit(void)
{
return ERROR_OK;
/* forward declarations */
int arm926ejs_target_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc, struct target_s *target);
int arm926ejs_init_target(struct command_context_s *cmd_ctx, struct target_s *target);
-int arm926ejs_quit();
+int arm926ejs_quit(void);
int arm926ejs_arch_state(struct target_s *target);
int arm926ejs_read_memory(struct target_s *target, u32 address, u32 size, u32 count, u8 *buffer);
int arm926ejs_write_memory(struct target_s *target, u32 address, u32 size, u32 count, u8 *buffer);
}
-int arm926ejs_quit()
+int arm926ejs_quit(void)
{
return ERROR_OK;
/* forward declarations */
int arm9tdmi_target_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc, struct target_s *target);
int arm9tdmi_init_target(struct command_context_s *cmd_ctx, struct target_s *target);
-int arm9tdmi_quit();
+int arm9tdmi_quit(void);
target_type_t arm9tdmi_target =
{
}
-int arm9tdmi_quit()
+int arm9tdmi_quit(void)
{
return ERROR_OK;
void cortex_m3_enable_watchpoints(struct target_s *target);
int cortex_m3_target_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc, struct target_s *target);
int cortex_m3_init_target(struct command_context_s *cmd_ctx, struct target_s *target);
-int cortex_m3_quit();
+int cortex_m3_quit(void);
int cortex_m3_load_core_reg_u32(target_t *target, enum armv7m_regtype type, u32 num, u32 *value);
int cortex_m3_store_core_reg_u32(target_t *target, enum armv7m_regtype type, u32 num, u32 value);
int cortex_m3_target_request_data(target_t *target, u32 size, u8 *buffer);
return ERROR_OK;
}
-int cortex_m3_quit()
+int cortex_m3_quit(void)
{
return ERROR_OK;
int feroceon_target_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc, struct target_s *target);
int feroceon_bulk_write_memory(target_t *target, u32 address, u32 count, u8 *buffer);
int feroceon_init_target(struct command_context_s *cmd_ctx, struct target_s *target);
-int feroceon_quit();
+int feroceon_quit(void);
target_type_t feroceon_target =
{
arm_jtag_t *jtag_info = &arm7_9->jtag_info;
u32 r0 = buf_get_u32(armv4_5->core_cache->reg_list[0].value, 0, 32);
u32 pc = buf_get_u32(armv4_5->core_cache->reg_list[15].value, 0, 32);
+ (void)(r0); // use R0...
arm9tdmi_clock_out(jtag_info, ARMV4_5_NOP, 0, NULL, 0);
arm9tdmi_clock_out(jtag_info, ARMV4_5_NOP, 0, NULL, 0);
return ERROR_OK;
}
-int feroceon_quit()
+int feroceon_quit(void)
{
return ERROR_OK;
}
#include "config.h"
#endif
+#include <string.h>
#include "log.h"
#include "mips32.h"
#include "mips32_pracc.h"
int mips_m4k_quit();
int mips_m4k_target_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc, struct target_s *target);
-int mips_m4k_examine(struct target_s *target);
+int mips_m4k_examine(struct command_context_s *cmd_ctx, struct target_s *target);
int mips_m4k_assert_reset(target_t *target);
int mips_m4k_deassert_reset(target_t *target);
return ERROR_OK;
}
-int mips_m4k_quit()
+int mips_m4k_quit(void)
{
return ERROR_OK;
}
return ERROR_OK;
}
-int mips_m4k_examine(struct target_s *target)
+int mips_m4k_examine(struct command_context_s *cmd_ctx, struct target_s *target)
{
int retval;
mips32_common_t *mips32 = target->arch_info;
return ERROR_OK;
}
-int target_call_timer_callbacks()
+int target_call_timer_callbacks(void)
{
return target_call_timer_callbacks_check_time(1);
}
/* invoke periodic callbacks immediately */
-int target_call_timer_callbacks_now()
+int target_call_timer_callbacks_now(void)
{
- return target_call_timer_callbacks(0);
+ return target_call_timer_callbacks();
}
int target_alloc_working_area(struct target_s *target, u32 size, working_area_t **area)
*/
extern int target_register_timer_callback(int (*callback)(void *priv), int time_ms, int periodic, void *priv);
extern int target_unregister_timer_callback(int (*callback)(void *priv), void *priv);
-extern int target_call_timer_callbacks();
+extern int target_call_timer_callbacks(void);
/* invoke this to ensure that e.g. polling timer callbacks happen before
* a syncrhonous command completes.
*/
-extern int target_call_timer_callbacks_now();
+extern int target_call_timer_callbacks_now(void);
extern target_t* get_current_target(struct command_context_s *cmd_ctx);
extern int get_num_by_target(target_t *query_target);
/* forward declarations */
int xscale_target_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc, struct target_s *target);
int xscale_init_target(struct command_context_s *cmd_ctx, struct target_s *target);
-int xscale_quit();
+int xscale_quit(void);
int xscale_arch_state(struct target_s *target);
int xscale_poll(target_t *target);
jtag_execute_queue();
target->state = TARGET_RESET;
-
+
if (target->reset_halt)
{
int retval;
return ERROR_OK;
}
-int xscale_quit()
+int xscale_quit(void)
{
return ERROR_OK;