Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 6323 → Rev 6324

/contrib/toolchain/binutils/bfd/libcoff.h
3,7 → 3,7
Run "make headers" in your build bfd/ to regenerate. */
 
/* BFD COFF object file private structure.
Copyright 1990-2013 Free Software Foundation, Inc.
Copyright (C) 1990-2015 Free Software Foundation, Inc.
Written by Cygnus Support.
 
This file is part of BFD, the Binary File Descriptor library.
24,7 → 24,12
MA 02110-1301, USA. */
 
#include "bfdlink.h"
#include "coff-bfd.h"
 
#ifdef __cplusplus
extern "C" {
#endif
 
/* Object file tdata; access macros. */
 
#define coff_data(bfd) ((bfd)->tdata.coff_obj_data)
39,6 → 44,7
#define obj_coff_external_syms(bfd) (coff_data (bfd)->external_syms)
#define obj_coff_keep_syms(bfd) (coff_data (bfd)->keep_syms)
#define obj_coff_strings(bfd) (coff_data (bfd)->strings)
#define obj_coff_strings_len(bfd) (coff_data (bfd)->strings_len)
#define obj_coff_keep_strings(bfd) (coff_data (bfd)->keep_strings)
#define obj_coff_sym_hashes(bfd) (coff_data (bfd)->sym_hashes)
#define obj_coff_strings_written(bfd) (coff_data (bfd)->strings_written)
57,7 → 63,7
unsigned long raw_syment_count;
 
/* These are only valid once writing has begun. */
long int relocbase;
unsigned long int relocbase;
 
/* These members communicate important constants about the symbol table
to GDB's symbol-reading code. These `constants' unfortunately vary
79,6 → 85,8
/* The string table. May be NULL. Read by
_bfd_coff_read_string_table. */
char *strings;
/* The length of the strings table. For error checking. */
bfd_size_type strings_len;
/* If this is TRUE, the strings may not be freed. */
bfd_boolean keep_strings;
/* If this is TRUE, the strings have been written out already. */
123,6 → 131,14
bfd_boolean insert_timestamp;
bfd_boolean (*in_reloc_p) (bfd *, reloc_howto_type *);
flagword real_flags;
 
/* Build-id info. */
struct
{
bfd_boolean (*after_write_object_contents) (bfd *);
const char *style;
asection *sec;
} build_id;
} pe_data_type;
 
#define pe_data(bfd) ((bfd)->tdata.pe_obj_data)
180,36 → 196,6
macro is only ever applied to an asymbol. */
#define coffsymbol(asymbol) ((coff_symbol_type *)(&((asymbol)->the_bfd)))
 
/* The used_by_bfd field of a section may be set to a pointer to this
structure. */
 
struct coff_section_tdata
{
/* The relocs, swapped into COFF internal form. This may be NULL. */
struct internal_reloc *relocs;
/* If this is TRUE, the relocs entry may not be freed. */
bfd_boolean keep_relocs;
/* The section contents. This may be NULL. */
bfd_byte *contents;
/* If this is TRUE, the contents entry may not be freed. */
bfd_boolean keep_contents;
/* Information cached by coff_find_nearest_line. */
bfd_vma offset;
unsigned int i;
const char *function;
/* Optional information about a COMDAT entry; NULL if not COMDAT. */
struct coff_comdat_info *comdat;
int line_base;
/* A pointer used for .stab linking optimizations. */
void * stab_info;
/* Available for individual backends. */
void * tdata;
};
 
/* An accessor macro for the coff_section_tdata structure. */
#define coff_section_data(abfd, sec) \
((struct coff_section_tdata *) (sec)->used_by_bfd)
 
/* Tdata for sections in XCOFF files. This is used by the linker. */
 
struct xcoff_section_tdata
283,6 → 269,16
struct stab_info stab_info;
};
 
struct coff_reloc_cookie
{
struct internal_reloc * rels;
struct internal_reloc * rel;
struct internal_reloc * relend;
struct coff_symbol_struct * symbols; /* Symtab for input bfd. */
bfd * abfd;
struct coff_link_hash_entry ** sym_hashes;
};
 
/* Look up an entry in a COFF linker hash table. */
 
#define coff_link_hash_lookup(table, string, create, copy, follow) \
313,8 → 309,6
(bfd *, asymbol **);
extern int coff_count_linenumbers
(bfd *);
extern struct coff_symbol_struct *coff_symbol_from
(bfd *, asymbol *);
extern bfd_boolean coff_renumber_symbols
(bfd *, int *);
extern void coff_mangle_symbols
346,20 → 340,20
(bfd *, void * filep, asymbol *, bfd_print_symbol_type);
extern void coff_get_symbol_info
(bfd *, asymbol *, symbol_info *ret);
#define coff_get_symbol_version_string \
_bfd_nosymbols_get_symbol_version_string
extern bfd_boolean _bfd_coff_is_local_label_name
(bfd *, const char *);
extern asymbol *coff_bfd_make_debug_symbol
(bfd *, void *, unsigned long);
extern bfd_boolean coff_find_nearest_line
(bfd *, asection *, asymbol **, bfd_vma, const char **,
const char **, unsigned int *);
extern bfd_boolean coff_find_nearest_line_discriminator
(bfd *, asection *, asymbol **, bfd_vma, const char **,
const char **, unsigned int *, unsigned int *);
(bfd *, asymbol **, asection *, bfd_vma,
const char **, const char **, unsigned int *, unsigned int *);
#define coff_find_line _bfd_nosymbols_find_line
struct dwarf_debug_section;
extern bfd_boolean coff_find_nearest_line_with_names
(bfd *, const struct dwarf_debug_section *, asection *, asymbol **,
bfd_vma, const char **, const char **, unsigned int *);
(bfd *, asymbol **, asection *, bfd_vma, const char **, const char **,
unsigned int *, const struct dwarf_debug_section *);
extern bfd_boolean coff_find_inliner_info
(bfd *, const char **, const char **, unsigned int *);
extern int coff_sizeof_headers
582,6 → 576,8
extern bfd_boolean _bfd_coff_reloc_link_order
(bfd *, struct coff_final_link_info *, asection *,
struct bfd_link_order *);
extern bfd_boolean bfd_coff_gc_sections
(bfd *, struct bfd_link_info *);
 
 
#define coff_get_section_contents_in_window \
599,8 → 595,6
(bfd *, arelent **, asymbol **);
extern struct bfd_link_hash_table *_bfd_xcoff_bfd_link_hash_table_create
(bfd *);
extern void _bfd_xcoff_bfd_link_hash_table_free
(struct bfd_link_hash_table *);
extern bfd_boolean _bfd_xcoff_bfd_link_add_symbols
(bfd *, struct bfd_link_info *);
extern bfd_boolean _bfd_xcoff_bfd_final_link
619,6 → 613,7
extern bfd_boolean ppc_process_before_allocation
(bfd *, struct bfd_link_info *);
/* Extracted from coffcode.h. */
 
typedef struct coff_ptr_struct
{
/* Remembers the offset from the first symbol in the file for
652,6 → 647,9
union internal_auxent auxent;
struct internal_syment syment;
} u;
 
/* Selector for the union above. */
bfd_boolean is_sym;
} combined_entry_type;
 
 
687,6 → 685,10
COFF_SYMBOL_PE_SECTION
};
 
typedef asection * (*coff_gc_mark_hook_fn)
(asection *, struct bfd_link_info *, struct internal_reloc *,
struct coff_link_hash_entry *, struct internal_syment *);
 
typedef struct
{
void (*_bfd_coff_swap_aux_in)
736,6 → 738,7
unsigned int _bfd_coff_default_section_alignment_power;
bfd_boolean _bfd_coff_force_symnames_in_strings;
unsigned int _bfd_coff_debug_string_prefix_length;
unsigned int _bfd_coff_max_nscns;
 
void (*_bfd_coff_swap_filehdr_in)
(bfd *, void *, void *);
873,6 → 876,9
((coff_backend_info (abfd)->_bfd_coff_set_long_section_names) (abfd, enable))
#define bfd_coff_default_section_alignment_power(abfd) \
(coff_backend_info (abfd)->_bfd_coff_default_section_alignment_power)
#define bfd_coff_max_nscns(abfd) \
(coff_backend_info (abfd)->_bfd_coff_max_nscns)
 
#define bfd_coff_swap_filehdr_in(abfd, i,o) \
((coff_backend_info (abfd)->_bfd_coff_swap_filehdr_in) (abfd, i, o))
 
965,3 → 971,6
PE object file. */
#define bfd_pei_p(abfd) \
(CONST_STRNEQ ((abfd)->xvec->name, "pei-"))
#ifdef __cplusplus
}
#endif