This is the mail archive of the sid@sources.redhat.com mailing list for the SID 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]

cgen-cpu/tracedis.c patch


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  <bje@redhat.com>

	* 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;


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