From e1ea7e35820582b80d85072970bbb3821af298e4 Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Thu, 19 Jan 2017 20:56:21 +0000 Subject: [PATCH] - don't optimize away gdb - GCC 4.92 - cleaned up git-svn-id: http://moon:8086/svn/mips@107 a8ebac50-d88d-4704-bea3-6648445a41b3 --- src/bootloader/boards/denano/board.c | 2 +- src/libsys/boards/denano/board.c | 6 ++---- src/libsys/boards/ml402/board.c | 6 ++---- src/libsys/gdb_stub.c | 4 ++-- 4 files changed, 7 insertions(+), 11 deletions(-) diff --git a/src/bootloader/boards/denano/board.c b/src/bootloader/boards/denano/board.c index a915e7c..797cd68 100644 --- a/src/bootloader/boards/denano/board.c +++ b/src/bootloader/boards/denano/board.c @@ -13,7 +13,7 @@ extern uart_if_t uart_if[]; extern void handle_exception (unsigned long *registers); -int gdb_stub(struct xcptcontext * xcp) __attribute__ ((section (".gdb"))); +extern int gdb_stub(struct xcptcontext * xcp) __attribute__ ((section (".gdb"))) __attribute__ ((used)); int gdb_stub(struct xcptcontext * xcp) { handle_exception((unsigned long *)xcp); diff --git a/src/libsys/boards/denano/board.c b/src/libsys/boards/denano/board.c index 9a4bba0..0bf2b13 100644 --- a/src/libsys/boards/denano/board.c +++ b/src/libsys/boards/denano/board.c @@ -41,13 +41,11 @@ const con_if_t con_if = con_if_entry, ARRAYSIZE(con_if_entry) }; -static uart_if_t const *dbg_uart = NULL; - void dbg_uart_isr(struct xcptcontext *xcp) { - if(SYS_UART_BIT_RX_AVAIL & *dbg_uart->pCTRL) + if(SYS_UART_BIT_RX_AVAIL & *uart_if[UART_DEBUGGER].pCTRL) { - char c = *dbg_uart->pDATA; + char c = *uart_if[UART_DEBUGGER].pDATA; if (c == 3) { dbg_func(xcp); diff --git a/src/libsys/boards/ml402/board.c b/src/libsys/boards/ml402/board.c index 92bd132..16ca627 100644 --- a/src/libsys/boards/ml402/board.c +++ b/src/libsys/boards/ml402/board.c @@ -41,13 +41,11 @@ const con_if_t con_if = con_if_entry, ARRAYSIZE(con_if_entry) }; -static uart_if_t const *dbg_uart = NULL; - void dbg_uart_isr(struct xcptcontext *xcp) { - if(SYS_UART_BIT_RX_AVAIL & *dbg_uart->pCTRL) + if(SYS_UART_BIT_RX_AVAIL & *uart_if[UART_DEBUGGER].pCTRL) { - char c = *dbg_uart->pDATA; + char c = *uart_if[UART_DEBUGGER].pDATA; if (c == 3) { dbg_func(xcp); diff --git a/src/libsys/gdb_stub.c b/src/libsys/gdb_stub.c index da0a573..d96e814 100644 --- a/src/libsys/gdb_stub.c +++ b/src/libsys/gdb_stub.c @@ -424,10 +424,10 @@ handle_exception (unsigned long *registers) char *ptr; unsigned long *sp; - unsigned long *pAddr = (unsigned long *)registers[PC]; + addr = *((unsigned long *)registers[PC]); // is break - if (isBreak(*pAddr)) + if (isBreak(addr)) { registers[PC] += 4; }