} u; /* bfd* or file position. */
int namidx; /* Index into string table. */
};
-\f
+
/* Linenumber stuff. */
typedef struct lineno_cache_entry
{
alent;
\f
/* Object and core file sections. */
+typedef struct bfd_section *sec_ptr;
#define align_power(addr, align) \
(((addr) + ((bfd_vma) 1 << (align)) - 1) & (-((bfd_vma) 1 << (align))))
-typedef struct bfd_section *sec_ptr;
+/* Align an address upward to a boundary, expressed as a number of bytes.
+ E.g. align to an 8-byte boundary with argument of 8. Take care never
+ to wrap around if the address is within boundary-1 of the end of the
+ address space. */
+#define BFD_ALIGN(this, boundary) \
+ ((((bfd_vma) (this) + (boundary) - 1) >= (bfd_vma) (this)) \
+ ? (((bfd_vma) (this) + ((boundary) - 1)) & ~ (bfd_vma) ((boundary)-1)) \
+ : ~ (bfd_vma) 0)
#define bfd_get_section_name(bfd, ptr) ((void) bfd, (ptr)->name)
#define bfd_get_section_vma(bfd, ptr) ((void) bfd, (ptr)->vma)
when memory read flag isn't set. */
#define SEC_COFF_NOREAD 0x40000000
- /* Indicate that section has the no read flag set. */
-#define SEC_ELF_NOREAD 0x80000000
+ /* Indicate that section has the purecode flag set. */
+#define SEC_ELF_PURECODE 0x80000000
/* End of section flags. */
#define bfd_mach_arc_arc601 4
#define bfd_mach_arc_arc700 3
#define bfd_mach_arc_arcv2 5
-#define bfd_mach_arc_nps400 6
bfd_arch_m32c, /* Renesas M16C/M32C. */
#define bfd_mach_m16c 0x75
#define bfd_mach_m32c 0x78
void bfd_set_arch_info (bfd *abfd, const bfd_arch_info_type *arg);
+bfd_boolean bfd_default_set_arch_mach
+ (bfd *abfd, enum bfd_architecture arch, unsigned long mach);
+
enum bfd_architecture bfd_get_arch (bfd *abfd);
unsigned long bfd_get_mach (bfd *abfd);
BFD_RELOC_MICROMIPS_10_PCREL_S1,
BFD_RELOC_MICROMIPS_16_PCREL_S1,
+/* MIPS16 PC-relative relocation. */
+ BFD_RELOC_MIPS16_16_PCREL_S1,
+
/* MIPS PC-relative relocations. */
BFD_RELOC_MIPS_21_PCREL_S2,
BFD_RELOC_MIPS_26_PCREL_S2,
enum bfd_plugin_format
{
- bfd_plugin_uknown = 0,
+ bfd_plugin_unknown = 0,
bfd_plugin_yes = 1,
bfd_plugin_no = 2
};
const char **def_target_arch);
const char ** bfd_target_list (void);
-const bfd_target *bfd_search_for_target
- (int (*search_func) (const bfd_target *, void *),
- void *);
+const bfd_target *bfd_iterate_over_targets
+ (int (*func) (const bfd_target *, void *),
+ void *data);
const char *bfd_flavour_name (enum bfd_flavour flavour);