From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15289 invoked by alias); 22 Jan 2002 23:37:06 -0000 Mailing-List: contact sid-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: sid-owner@sources.redhat.com Received: (qmail 15069 invoked from network); 22 Jan 2002 23:37:01 -0000 Received: from unknown (HELO hypatia.brisbane.redhat.com) (202.83.74.3) by sources.redhat.com with SMTP; 22 Jan 2002 23:37:01 -0000 Received: from scooby.brisbane.redhat.com (scooby.brisbane.redhat.com [172.16.5.228]) by hypatia.brisbane.redhat.com (8.11.6/8.11.6) with ESMTP id g0MNawY22326 for ; Wed, 23 Jan 2002 09:36:58 +1000 Received: by scooby.brisbane.redhat.com (Postfix, from userid 500) id 38E6510932; Wed, 23 Jan 2002 10:36:57 +1100 (EST) From: Ben Elliston MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <15437.63385.208296.247303@scooby.brisbane.redhat.com> Date: Tue, 22 Jan 2002 15:37:00 -0000 To: sid@sources.redhat.com Subject: cgen-cpu/tracedis.c patch X-Mailer: VM 6.75 under 21.1 (patch 14) "Cuyahoga Valley" XEmacs Lucid X-SW-Source: 2002-q1/txt/msg00006.txt.bz2 The following patch adds a few more BFD functions to tracedis.c. They are needed because a simulator I am targetting already has a hand-written disassembler which uses these BFD functions. Okay to commit? At what point will be abandon this approach and make SID dependent on libbfd? Ben 2002-01-23 Ben Elliston * tracedis.c (bfd_getb16): New function. (bfd_getl16): Likewise. (bfd_getb32): Likewise. (bfd_getl32): Likewise. Index: tracedis.c =================================================================== RCS file: /cvs/cvsfiles/devo/sid/component/cgen-cpu/tracedis.c,v retrieving revision 1.2 diff -u -c -r1.2 tracedis.c *** tracedis.c 2001/06/08 07:18:50 1.2 --- tracedis.c 2002/01/22 23:35:06 *************** *** 60,65 **** --- 60,106 ---- } /* Stolen from libbfd. */ + + bfd_vma + bfd_getb16 (addr) + register const bfd_byte *addr; + { + return (addr[0] << 8) | addr[1]; + } + + bfd_vma + bfd_getl16 (addr) + register const bfd_byte *addr; + { + return (addr[1] << 8) | addr[0]; + } + + bfd_vma + bfd_getb32 (addr) + register const bfd_byte *addr; + { + unsigned long v; + + v = (unsigned long) addr[0] << 24; + v |= (unsigned long) addr[1] << 16; + v |= (unsigned long) addr[2] << 8; + v |= (unsigned long) addr[3]; + return (bfd_vma) v; + } + + bfd_vma + bfd_getl32 (addr) + register const bfd_byte *addr; + { + unsigned long v; + + v = (unsigned long) addr[0]; + v |= (unsigned long) addr[1] << 8; + v |= (unsigned long) addr[2] << 16; + v |= (unsigned long) addr[3] << 24; + return (bfd_vma) v; + } + void bfd_put_bits (data, addr, bits, big_p) bfd_vma data;