This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [New WinCE support] [patch 4/4] The bulk of the code.


On Mon, Mar 19, 2007 at 01:16:15AM +0000, Pedro Alves wrote:
> ChangeLog
> 
> 	* arm-wince-tdep.c: New.
> 	* config/arm/wince.mt (DEPRECATED_TM_FILE): Use tm-arm.h.
> 	(MT_CFLAGS): Delete.
> 	(TM_CLIBS): Delete.
> 	(TDEPFILES): Add arm-wince-tdep.o, corelow.o, solib.o,
> 	solib-legacy.o, solib-svr4.o, and remove wince.o.
> 	* configure.tgt (arm*-*-mingw32ce*): Add.
> 	* signals/signals.c [HAVE_SIGNAL_H]: Check.
> 	(do_target_signal_to_host): Silence 'not used' warning.
> 	* config/arm/tm-wince.h: Remove.
> 	* wince.c: Remove.
> 	* wince-stub.h: Remove.
> 	* wince-stub.c: Remove.
> 
> doc/ChangeLog
> 
> 	* gdb.texinfo (WinCE): Delete subsection.
> 
> gdbserver/ChangeLog
> 
> 	* gdbserver/configure.ac: Add errno checking.
> 	(AC_CHECK_HEADERS): Add errno.h, fcntl.h, signal.h,
> 	sys/file.h and malloc.h.
> 	(AC_CHECK_DECLS): Add perror.
> 	(srv_mingwce): Handle.
> 	* gdbserver/configure.srv (i[34567]86-*-cygwin*): Add
> 	win32-i386-low.o to srv_tgtobj.
> 	(i[34567]86-*-mingw*): Likewise.
> 	(arm*-*-mingw32ce*): Add case.
> 	* gdbreplay.c [HAVE_SYS_FILE_H, HAVE_SIGNAL_H,
> 	HAVE_FCNTL_H, HAVE_ERRNO_H, HAVE_MALLOC_H]: Check.
> 	[__MINGW32CE__] (strerror): New function.
> 	[__MINGW32CE__] (errno): Define to GetLastError.
> 	[__MINGW32CE__] (COUNTOF): New macro.
> 	(remote_open): Remove extra close call.
> 	* mem-break.c (delete_breakpoint_at): New function.
> 	* mem-break.h (delete_breakpoint_at): Declare.
> 	* remote-utils.c [HAVE_SYS_FILE_H, HAVE_SIGNAL_H,
> 	HAVE_FCNTL_H, HAVE_UNISTD_H, HAVE_ERRNO_H]: Check.
> 	[USE_WIN32API] (read, write): Add char* casts.
> 	* server.c [HAVE_UNISTD_H, HAVE_SIGNAL_H]: Check.
> 	* server.h: Include wincecompat.h on Windows CE.
> 	[HAVE_ERRNO_H]: Check.
> 	(perror): Declare if not declared.
> 	* utils.c: Add stdlib.h, errno.h and malloc.h includes.
> 	(perror_with_name): Remove errno declaration.
> 	* wincecompat.h: New.
> 	* wincecompat.c: New.
> 	* win32-low.h: New.
> 	* win32-arm-low.c: New.
> 	* win32-i386-low.c: New.
> 	(win32-low.c): Include mem-break.h and win32-low.h, and winnt.h.
> 	(OUTMSG2): Make it safe.
> 	(_T): New macro.
> 	(COUNTOF): New macro.
> 	(NUM_REGS): Get it from the low target.
> 	(CONTEXT_EXTENDED_REGISTERS, CONTEXT_FLOATING_POINT,
> 	CONTEXT_DEBUG_REGISTERS): Add fallbacks to 0.
> 	(thread_rec): Let low target handle debug registers.
> 	(child_add_thread): Likewise.
> 	(child_init_thread_list): Likewise.
> 	(continue_one_thread): Likewise.
> 	(regptr): New.
> 	(do_child_fetch_inferior_registers): Move to ...
> 	* win32-i386-low.c: ... here, and rename to ...
> 	(do_fetch_inferior_registers): ... this.
> 	* win32-low.c (child_fetch_inferior_registers): 
> 	Go through the low target.
> 	(do_child_store_inferior_registers): Use regptr.
> 	(strwinerror): New function.
> 	(win32_create_inferior): Handle Windows CE.
> 	Use strwinerror instead of strerror on Windows error
> 	codes.  Add program to the error output.
> 	Don't close the main thread handle on Windows CE.
> 	(win32_attach): Use coredll.dll on Windows CE.
> 	(win32_kill): Close current process and current
> 	thread handles.
> 	(win32_detach): Use coredll.dll on Windows CE.
> 	(win32_resume): Let low target handle debug registers, and
> 	step request.
> 	(handle_exception): Add/Remove initial breakpoint.  Avoid
> 	non-existant WSTOPSIG on Windows CE.
> 	(win32_read_inferior_memory): Cast to remove warning.
> 	(win32_arch_string): Go through the low target.
> 	(initialize_low): Call set_breakpoint_data with the low
> 	target's breakpoint.
> 	* win32-low.c (dr, FLAG_TRACE_BIT, FCS_REGNUM,
> 	FOP_REGNUM, mappings): Move to ...
> 	* win32-i386-low.c: ... here.
> 	* win32-low.c (win32_thread_info): Move to ...
> 	* win32-low.h: ... here.
> 	* Makefile.in (SFILES): Add win32-low.c, win32-i386-low.c,
> 	win32-arm-low.c and wincecompat.c.
> 	(all:): Add $EXEEXT.
> 	(install-only:): Likewise.
> 	(gdbserver:): Likewise.
> 	(gdbreplay:): Likewise.
> 	* config.in: Regenerate.
> 	* configure: Regenerate.

This is OK.  Doesn't it deserve a NEWS entry?

I didn't go over the Windows-specific changes too closely; I trust you
:-)  I'll try not to break it too badly when working on the Linux ports.

> @@ -52,8 +52,14 @@ case "${target}" in
>  			srv_linux_regsets=yes
>  			srv_linux_thread_db=yes
>  			;;
> +  arm*-*-mingw32ce*)	srv_regobj=reg-arm.o
> +			srv_tgtobj="win32-low.o win32-arm-low.o"
> +			srv_tgtobj="${srv_tgtobj} wincecompat.o"
> +			srv_mingw=yes
> +			srv_mingwce=yes
> +			;;
>    i[34567]86-*-mingw*)	srv_regobj=reg-i386.o
> -			srv_tgtobj="win32-low.o"
> +			srv_tgtobj="win32-low.o win32-i386-low.o"
>  			srv_mingw=yes
>  			;;
>    ia64-*-linux*)	srv_regobj=reg-ia64.o

Please put arm*-*-mingw32ce* up higher, near other ARM targets - the
case statement is pretty much sorted.

Should you check arm-wince-pe here too, since you did in the directory
above?  Not that I expect a lot of native arm-wince-pe gdb :-)

-- 
Daniel Jacobowitz
CodeSourcery


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]