From mboxrd@z Thu Jan 1 00:00:00 1970 From: Fernando Nasser To: gdb-patches@sources.redhat.com Subject: RFA: [remote-e7000.c and remote-st.c] Check for bad baud rate Date: Fri, 11 May 2001 12:17:00 -0000 Message-id: <3AFC3A4C.22EC14EB@redhat.com> X-SW-Source: 2001-05/msg00236.html Does anyone care about these targets? This patch adds a check to handle the case where the user specified an invalid baud rate. Do I check this in? ChangeLog * remote-e7000.c (e7000_open): Check for bad baud rate. * remote-st.c (st2000_open): Ditto. -- Fernando Nasser Red Hat Canada Ltd. E-Mail: fnasser@redhat.com 2323 Yonge Street, Suite #300 Toronto, Ontario M4P 2C9 Index: remote-e7000.c =================================================================== RCS file: /cvs/src/src/gdb/remote-e7000.c,v retrieving revision 1.20 diff -c -p -r1.20 remote-e7000.c *** remote-e7000.c 2001/05/04 04:15:26 1.20 --- remote-e7000.c 2001/05/11 19:11:06 *************** e7000_open (char *args, int from_tty) *** 667,673 **** if (!e7000_desc) perror_with_name (dev_name); ! SERIAL_SETBAUDRATE (e7000_desc, baudrate); SERIAL_RAW (e7000_desc); #ifdef GDB_TARGET_IS_H8300 --- 667,677 ---- if (!e7000_desc) perror_with_name (dev_name); ! if (SERIAL_SETBAUDRATE (e7000_desc, baudrate)) ! { ! SERIAL_CLOSE (dev_name); ! perror_with_name (dev_name); ! } SERIAL_RAW (e7000_desc); #ifdef GDB_TARGET_IS_H8300 Index: remote-st.c =================================================================== RCS file: /cvs/src/src/gdb/remote-st.c,v retrieving revision 1.12 diff -c -p -r1.12 remote-st.c *** remote-st.c 2001/05/04 04:15:26 1.12 --- remote-st.c 2001/05/11 19:11:06 *************** or target st2000 \n"); *** 285,291 **** if (!st2000_desc) perror_with_name (dev_name); ! SERIAL_SETBAUDRATE (st2000_desc, baudrate); SERIAL_RAW (st2000_desc); --- 285,295 ---- if (!st2000_desc) perror_with_name (dev_name); ! if (SERIAL_SETBAUDRATE (st2000_desc, baudrate)) ! { ! SERIAL_CLOSE (dev_name); ! perror_with_name (dev_name); ! } SERIAL_RAW (st2000_desc); >From fnasser@redhat.com Fri May 11 12:30:00 2001 From: Fernando Nasser To: Kevin Buettner Cc: Michael Snyder , Jim Blandy , gdb-patches@sources.redhat.com Subject: Re: [PATCH RFA] breakpoint.c: Pass breakpoint type to set_raw_breakpoint() Date: Fri, 11 May 2001 12:30:00 -0000 Message-id: <3AFC3D3C.C237D12F@redhat.com> References: <1010511075057.ZM27226@ocotillo.lan> <3AFC073A.CADCE636@redhat.com> <1010511190413.ZM28698@ocotillo.lan> X-SW-Source: 2001-05/msg00237.html Content-length: 2150 Excelent! The comment is now very accurate and clear. Fernando Kevin Buettner wrote: > > On May 11, 11:37am, Fernando Nasser wrote: > > > I agree with your solution. Actually, one day, in the lost past, this > > function did have more arguments. Look at the comments for > > set_raw_breakpoint(): > > > > /* Low level routine to set a breakpoint. > > Takes as args the three things that every breakpoint must have. > > > > BTW, when you check in you can change the comment as well to reflect the > > current version. > > Fernando, > > Thanks for calling my attention to the set_raw_breakpoint() comment. > I have rewritten it from: > > /* Low level routine to set a breakpoint. > Takes as args the three things that every breakpoint must have. > Returns the breakpoint object so caller can set other things. > Does not set the breakpoint number! > Does not print anything. > > ==> This routine should not be called if there is a chance of later > error(); otherwise it leaves a bogus breakpoint on the chain. Validate > your arguments BEFORE calling this routine! */ > > To: > > /* set_raw_breakpoint() is a low level routine for allocating and > partially initializing a breakpoint of type BPTYPE. The newly > created breakpoint's address, section, source file name, and line > number are provided by SAL. The newly created and partially > initialized breakpoint is added to the breakpoint chain and > is also returned as the value of this function. > > It is expected that the caller will complete the initialization of > the newly created breakpoint struct as well as output any status > information regarding the creation of a new breakpoint. In > particular, set_raw_breakpoint() does NOT set the breakpoint > number! Care should be taken to not allow an error() to occur > prior to completing the initializtion of the breakpoint. If this > should happen, a bogus breakpoint will be left on the chain. */ > > Kevin -- Fernando Nasser Red Hat Canada Ltd. E-Mail: fnasser@redhat.com 2323 Yonge Street, Suite #300 Toronto, Ontario M4P 2C9