From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16614 invoked by alias); 27 Mar 2007 19:20:40 -0000 Received: (qmail 16603 invoked by uid 22791); 27 Mar 2007 19:20:38 -0000 X-Spam-Check-By: sourceware.org Received: from return.false.org (HELO return.false.org) (66.207.162.98) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 27 Mar 2007 20:20:34 +0100 Received: from return.false.org (localhost [127.0.0.1]) by return.false.org (Postfix) with ESMTP id 45EE64B26D; Tue, 27 Mar 2007 14:20:33 -0500 (CDT) Received: from caradoc.them.org (dsl093-172-095.pit1.dsl.speakeasy.net [66.93.172.95]) by return.false.org (Postfix) with ESMTP id D95B64B262; Tue, 27 Mar 2007 14:20:32 -0500 (CDT) Received: from drow by caradoc.them.org with local (Exim 4.63) (envelope-from ) id 1HWHDc-0001W9-CD; Tue, 27 Mar 2007 15:20:32 -0400 Date: Tue, 27 Mar 2007 19:20:00 -0000 From: Daniel Jacobowitz To: Pedro Alves Cc: Eli Zaretskii , gdb-patches@sourceware.org Subject: Re: [New WinCE support] [patch 4/4] The bulk of the code. Message-ID: <20070327192032.GJ28164@caradoc.them.org> Mail-Followup-To: Pedro Alves , Eli Zaretskii , gdb-patches@sourceware.org References: <20070315235008.243411000@portugalmail.pt> <45F9FC33.9020106@portugalmail.pt> <4053daab0703160803s3edf1294sfcdf4f8319787ab7@mail.gmail.com> <45FDE45F.2000309@portugalmail.pt> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <45FDE45F.2000309@portugalmail.pt> User-Agent: Mutt/1.5.14+cvs20070313 (2007-03-13) X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2007-03/txt/msg00271.txt.bz2 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