1 |
cebix |
1.1 |
/* |
2 |
|
|
* bfd.h - Dummy bfd library header file |
3 |
|
|
*/ |
4 |
|
|
|
5 |
gbeauche |
1.3 |
#include "sysdeps.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 |
gbeauche |
1.6 |
bfd_arch_mips, |
29 |
|
|
#define bfd_mach_mips3000 3000 |
30 |
|
|
#define bfd_mach_mips3900 3900 |
31 |
|
|
#define bfd_mach_mips4000 4000 |
32 |
|
|
#define bfd_mach_mips4010 4010 |
33 |
|
|
#define bfd_mach_mips4100 4100 |
34 |
|
|
#define bfd_mach_mips4111 4111 |
35 |
|
|
#define bfd_mach_mips4120 4120 |
36 |
|
|
#define bfd_mach_mips4300 4300 |
37 |
|
|
#define bfd_mach_mips4400 4400 |
38 |
|
|
#define bfd_mach_mips4600 4600 |
39 |
|
|
#define bfd_mach_mips4650 4650 |
40 |
|
|
#define bfd_mach_mips5000 5000 |
41 |
|
|
#define bfd_mach_mips5400 5400 |
42 |
|
|
#define bfd_mach_mips5500 5500 |
43 |
|
|
#define bfd_mach_mips6000 6000 |
44 |
|
|
#define bfd_mach_mips7000 7000 |
45 |
|
|
#define bfd_mach_mips8000 8000 |
46 |
|
|
#define bfd_mach_mips9000 9000 |
47 |
|
|
#define bfd_mach_mips10000 10000 |
48 |
|
|
#define bfd_mach_mips12000 12000 |
49 |
|
|
#define bfd_mach_mips16 16 |
50 |
|
|
#define bfd_mach_mips5 5 |
51 |
|
|
#define bfd_mach_mips_sb1 12310201 /* octal 'SB', 01 */ |
52 |
|
|
#define bfd_mach_mipsisa32 32 |
53 |
|
|
#define bfd_mach_mipsisa32r2 33 |
54 |
|
|
#define bfd_mach_mipsisa64 64 |
55 |
|
|
#define bfd_mach_mipsisa64r2 65 |
56 |
cebix |
1.1 |
bfd_arch_i386 |
57 |
|
|
#define bfd_mach_i386_i386 0 |
58 |
|
|
#define bfd_mach_i386_i8086 1 |
59 |
gbeauche |
1.2 |
#define bfd_mach_i386_i386_intel_syntax 2 |
60 |
|
|
#define bfd_mach_x86_64 3 |
61 |
|
|
#define bfd_mach_x86_64_intel_syntax 4 |
62 |
cebix |
1.1 |
}; |
63 |
|
|
|
64 |
|
|
typedef struct symbol_cache_entry { |
65 |
|
|
CONST char *name; |
66 |
|
|
} asymbol; |
67 |
|
|
|
68 |
gbeauche |
1.3 |
typedef uint64 bfd_vma; |
69 |
|
|
typedef int64 bfd_signed_vma; |
70 |
cebix |
1.1 |
typedef unsigned char bfd_byte; |
71 |
|
|
|
72 |
|
|
typedef struct _bfd bfd; |
73 |
|
|
struct _bfd; |
74 |
gbeauche |
1.2 |
|
75 |
gbeauche |
1.6 |
typedef int bfd_boolean; |
76 |
|
|
#undef FALSE |
77 |
|
|
#undef TRUE |
78 |
|
|
#define FALSE 0 |
79 |
|
|
#define TRUE 1 |
80 |
|
|
|
81 |
|
|
/* Note - these macros do NOT work if STR2 is not a constant string. */ |
82 |
|
|
#define CONST_STRNEQ(STR1,STR2) (strncmp ((STR1), (STR2), sizeof (STR2) - 1) == 0) |
83 |
|
|
|
84 |
gbeauche |
1.4 |
#if SIZEOF_LONG == 8 |
85 |
gbeauche |
1.2 |
#define BFD_HOST_64BIT_LONG 1 |
86 |
gbeauche |
1.5 |
#endif |
87 |
|
|
|
88 |
|
|
// 64-bit vma |
89 |
gbeauche |
1.4 |
#define BFD64 |
90 |
gbeauche |
1.2 |
|
91 |
|
|
#ifndef fprintf_vma |
92 |
|
|
#if BFD_HOST_64BIT_LONG |
93 |
|
|
#define sprintf_vma(s,x) sprintf (s, "%016lx", x) |
94 |
|
|
#define fprintf_vma(f,x) fprintf (f, "%016lx", x) |
95 |
|
|
#else |
96 |
|
|
#define _bfd_int64_low(x) ((unsigned long) (((x) & 0xffffffff))) |
97 |
|
|
#define _bfd_int64_high(x) ((unsigned long) (((x) >> 32) & 0xffffffff)) |
98 |
|
|
#define fprintf_vma(s,x) \ |
99 |
|
|
fprintf ((s), "%08lx%08lx", _bfd_int64_high (x), _bfd_int64_low (x)) |
100 |
|
|
#define sprintf_vma(s,x) \ |
101 |
|
|
sprintf ((s), "%08lx%08lx", _bfd_int64_high (x), _bfd_int64_low (x)) |
102 |
|
|
#endif |
103 |
|
|
#endif |