From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20633 invoked by alias); 17 Nov 2009 12:28:48 -0000 Received: (qmail 20618 invoked by uid 22791); 17 Nov 2009 12:28:46 -0000 X-SWARE-Spam-Status: No, hits=-2.4 required=5.0 tests=AWL,BAYES_00,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (38.113.113.100) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 17 Nov 2009 12:27:59 +0000 Received: (qmail 19431 invoked from network); 17 Nov 2009 12:27:57 -0000 Received: from unknown (HELO mbp.local) (maxim@127.0.0.2) by mail.codesourcery.com with ESMTPA; 17 Nov 2009 12:27:57 -0000 Message-ID: <4B0296C4.8070401@codesourcery.com> Date: Tue, 17 Nov 2009 12:28:00 -0000 From: Maxim Kuvyrkov User-Agent: Thunderbird 2.0.0.23 (Macintosh/20090812) MIME-Version: 1.0 To: gdb-patches@sourceware.org CC: Nathan Sidwell , Vladimir Prus , Daniel Jacobowitz Subject: [PATCH, M68K] Add regformat file for ColdFire registers References: <4B029388.5070001@codesourcery.com> In-Reply-To: <4B029388.5070001@codesourcery.com> Content-Type: multipart/mixed; boundary="------------020406090009090200080308" 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: 2009-11/txt/msg00382.txt.bz2 This is a multi-part message in MIME format. --------------020406090009090200080308 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-length: 272 The following patch adds regformat entry for the ColdFire registers and adjusts configure scripts to select between the two register formats: reg-m68k.dat and reg-cf.dat. OK to apply? Thanks, -- Maxim Kuvyrkov CodeSourcery maxim@codesourcery.com (650) 331-3385 x724 --------------020406090009090200080308 Content-Type: text/plain; x-mac-type="0"; x-mac-creator="0"; name="fsf-gdb-m68k-regs.ChangeLog" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="fsf-gdb-m68k-regs.ChangeLog" Content-length: 444 2009-11-17 Nathan Sidwell 2009-11-17 Vladimir Prus * Makefile.in (reg-cf.o, reg-cf.c): New targets. * configure.ac: Check for __mcoldfire__ and set gdb_cv_m68k_is_coldfire. * configure.srv: Use gdb_cv_m68k_is_coldfire to select between reg-cf.o and reg-m68k.o. * configure: Regenerated. 2009-11-17 Nathan Sidwell * regformats/reg-cf.dat: New file. --------------020406090009090200080308 Content-Type: text/plain; x-mac-type="0"; x-mac-creator="0"; name="fsf-gdb-m68k-regs.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="fsf-gdb-m68k-regs.patch" Content-length: 4527 ChangeLog.regs | 10 ++++++++++ gdb/gdbserver/Makefile.in | 3 +++ gdb/gdbserver/configure | 29 +++++++++++++++++++++++++++++ gdb/gdbserver/configure.ac | 12 ++++++++++++ gdb/gdbserver/configure.srv | 12 ++++++++++-- gdb/regformats/reg-cf.dat | 33 +++++++++++++++++++++++++++++++++ 6 files changed, 97 insertions(+), 2 deletions(-) diff --git a/gdb/gdbserver/Makefile.in b/gdb/gdbserver/Makefile.in index 155094b..cfd9d0f 100644 --- a/gdb/gdbserver/Makefile.in +++ b/gdb/gdbserver/Makefile.in @@ -359,6 +359,9 @@ reg-m32r.c : $(srcdir)/../regformats/reg-m32r.dat $(regdat_sh) reg-m68k.o : reg-m68k.c $(regdef_h) reg-m68k.c : $(srcdir)/../regformats/reg-m68k.dat $(regdat_sh) $(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-m68k.dat reg-m68k.c +reg-cf.o : reg-cf.c $(regdef_h) +reg-cf.c : $(srcdir)/../regformats/reg-cf.dat $(regdat_sh) + $(SHELL) $(regdat_sh) $(srcdir)/../regformats/reg-cf.dat reg-cf.c mips-linux.o : mips-linux.c $(regdef_h) mips-linux.c : $(srcdir)/../regformats/mips-linux.dat $(regdat_sh) $(SHELL) $(regdat_sh) $(srcdir)/../regformats/mips-linux.dat mips-linux.c diff --git a/gdb/gdbserver/configure b/gdb/gdbserver/configure index 955f716..93aeb78 100755 --- a/gdb/gdbserver/configure +++ b/gdb/gdbserver/configure @@ -4005,6 +4005,35 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gdb_cv_i386_is_x86_64" >&5 $as_echo "$gdb_cv_i386_is_x86_64" >&6; } ;; + m68k-*-*) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if building for Coldfire" >&5 +$as_echo_n "checking if building for Coldfire... " >&6; } +if test "${gdb_cv_m68k_is_coldfire+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $CFLAGS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifdef __mcoldfire__ +got it +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "got it" >/dev/null 2>&1; then : + gdb_cv_m68k_is_coldfire=yes +else + gdb_cv_m68k_is_coldfire=no +fi +rm -f conftest* + + CPPFLAGS="$save_CPPFLAGS" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gdb_cv_m68k_is_coldfire" >&5 +$as_echo "$gdb_cv_m68k_is_coldfire" >&6; } + ;; esac . ${srcdir}/configure.srv diff --git a/gdb/gdbserver/configure.ac b/gdb/gdbserver/configure.ac index 57eaf21..215387d 100644 --- a/gdb/gdbserver/configure.ac +++ b/gdb/gdbserver/configure.ac @@ -90,6 +90,18 @@ got it [gdb_cv_i386_is_x86_64=no]) CPPFLAGS="$save_CPPFLAGS"]) ;; + m68k-*-*) + AC_CACHE_CHECK([if building for Coldfire], [gdb_cv_m68k_is_coldfire], + [save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $CFLAGS" + AC_EGREP_CPP([got it], [ +#ifdef __mcoldfire__ +got it +#endif + ], [gdb_cv_m68k_is_coldfire=yes], + [gdb_cv_m68k_is_coldfire=no]) + CPPFLAGS="$save_CPPFLAGS"]) + ;; esac . ${srcdir}/configure.srv diff --git a/gdb/gdbserver/configure.srv b/gdb/gdbserver/configure.srv index ea746be..1814b0e 100644 --- a/gdb/gdbserver/configure.srv +++ b/gdb/gdbserver/configure.srv @@ -98,13 +98,21 @@ case "${target}" in srv_linux_usrregs=yes srv_linux_thread_db=yes ;; - m68*-*-linux*) srv_regobj=reg-m68k.o + m68*-*-linux*) if test "$gdb_cv_m68k_is_coldfire" = yes; then + srv_regobj=reg-cf.o + else + src_regobj=reg-m68k.o + fi srv_tgtobj="linux-low.o linux-m68k-low.o" srv_linux_usrregs=yes srv_linux_regsets=yes srv_linux_thread_db=yes ;; - m68*-*-uclinux*) srv_regobj=reg-m68k.o + m68*-*-uclinux*) if test "$gdb_cv_m68k_is_coldfire" = yes; then + srv_regobj=reg-cf.o + else + src_regobj=reg-m68k.o + fi srv_tgtobj="linux-low.o linux-m68k-low.o" srv_linux_usrregs=yes srv_linux_regsets=yes diff --git a/gdb/regformats/reg-cf.dat b/gdb/regformats/reg-cf.dat new file mode 100644 index 0000000..068aa75 --- /dev/null +++ b/gdb/regformats/reg-cf.dat @@ -0,0 +1,33 @@ +name:m68k +expedite:sp,fp,pc +32:d0 +32:d1 +32:d2 +32:d3 +32:d4 +32:d5 +32:d6 +32:d7 +32:a0 +32:a1 +32:a2 +32:a3 +32:a4 +32:a5 +32:fp +32:sp +32:ps +32:pc + +64:fp0 +64:fp1 +64:fp2 +64:fp3 +64:fp4 +64:fp5 +64:fp6 +64:fp7 + +32:fpcontrol +32:fpstatus +32:fpiaddr --------------020406090009090200080308--