ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/mon/src/disass/bfd.h
Revision: 1.2
Committed: 2002-09-07T12:48:15Z (21 years, 11 months ago) by gbeauche
Content type: text/plain
Branch: MAIN
Changes since 1.1: +22 -0 lines
Log Message:
Add support for x86-64 disassembly
- mon.cpp (mon_init): new command is "d8664"
- mon_cmd.cpp (disassemble): handle CPU_x86_64, and make it 64-bit aware in
  address dumps
- mon_disass.cpp (disass_x86): s/bool i8086/uint32 bits/ defining the x86
  architecture "size", aka 16 => 8086, 32 => 80x86, 64 => x86-64
- Merge with GNU x86 disassembler as part of binutils 2.12.90.0.15

File Contents

# User Rev Content
1 cebix 1.1 /*
2     * bfd.h - Dummy bfd library header file
3     */
4    
5 gbeauche 1.2 #include "config.h"
6 cebix 1.1 #include "ansidecl.h"
7    
8     enum bfd_flavour {
9     bfd_target_unknown_flavour
10     };
11    
12     enum bfd_endian {
13     BFD_ENDIAN_BIG,
14     BFD_ENDIAN_LITTLE,
15     BFD_ENDIAN_UNKNOWN
16     };
17    
18     enum bfd_architecture {
19     bfd_arch_unknown,
20     bfd_arch_m68k,
21     #define bfd_mach_m68000 1
22     #define bfd_mach_m68008 2
23     #define bfd_mach_m68010 3
24     #define bfd_mach_m68020 4
25     #define bfd_mach_m68030 5
26     #define bfd_mach_m68040 6
27     #define bfd_mach_m68060 7
28     bfd_arch_i386
29     #define bfd_mach_i386_i386 0
30     #define bfd_mach_i386_i8086 1
31 gbeauche 1.2 #define bfd_mach_i386_i386_intel_syntax 2
32     #define bfd_mach_x86_64 3
33     #define bfd_mach_x86_64_intel_syntax 4
34 cebix 1.1 };
35    
36     typedef struct symbol_cache_entry {
37     CONST char *name;
38     } asymbol;
39    
40     typedef unsigned long bfd_vma;
41     typedef long bfd_signed_vma;
42     typedef unsigned char bfd_byte;
43    
44     typedef struct _bfd bfd;
45     struct _bfd;
46 gbeauche 1.2
47     #if SIZEOF_LONG == 64
48     #define BFD_HOST_64BIT_LONG 1
49     #endif
50    
51     #ifndef fprintf_vma
52     #if BFD_HOST_64BIT_LONG
53     #define sprintf_vma(s,x) sprintf (s, "%016lx", x)
54     #define fprintf_vma(f,x) fprintf (f, "%016lx", x)
55     #else
56     #define _bfd_int64_low(x) ((unsigned long) (((x) & 0xffffffff)))
57     #define _bfd_int64_high(x) ((unsigned long) (((x) >> 32) & 0xffffffff))
58     #define fprintf_vma(s,x) \
59     fprintf ((s), "%08lx%08lx", _bfd_int64_high (x), _bfd_int64_low (x))
60     #define sprintf_vma(s,x) \
61     sprintf ((s), "%08lx%08lx", _bfd_int64_high (x), _bfd_int64_low (x))
62     #endif
63     #endif