X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2Fbfd-in2.h;h=5001cf87b510eec32efb362c33344937d2898245;hb=e19f872c5bec6fbb9476abdc4ea5cee44da598e2;hp=851fe4738ed0ec48034d3766899b8566805c74b2;hpb=911d08a746f9e05c389a7a5044870cd9aae06a5d;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index 851fe4738e..5001cf87b5 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -315,8 +315,8 @@ typedef struct bfd_section *sec_ptr; #define bfd_get_section_lma(bfd, ptr) ((ptr)->lma + 0) #define bfd_get_section_alignment(bfd, ptr) ((ptr)->alignment_power + 0) #define bfd_section_name(bfd, ptr) ((ptr)->name) -#define bfd_section_size(bfd, ptr) ((ptr)->_raw_size) -#define bfd_get_section_size(ptr) ((ptr)->_raw_size) +#define bfd_section_size(bfd, ptr) ((ptr)->size) +#define bfd_get_section_size(ptr) ((ptr)->size) #define bfd_section_vma(bfd, ptr) ((ptr)->vma) #define bfd_section_lma(bfd, ptr) ((ptr)->lma) #define bfd_section_alignment(bfd, ptr) ((ptr)->alignment_power) @@ -518,6 +518,8 @@ extern bfd_boolean bfd_cache_close (bfd *abfd); /* NB: This declaration should match the autogenerated one in libbfd.h. */ +extern bfd_boolean bfd_cache_close_all (void); + extern bfd_boolean bfd_record_phdr (bfd *, unsigned long, bfd_boolean, flagword, bfd_boolean, bfd_vma, bfd_boolean, bfd_boolean, unsigned int, struct bfd_section **); @@ -1268,13 +1270,17 @@ typedef struct bfd_section /* The size of the section in octets, as it will be output. Contains a value even if the section has no contents (e.g., the - size of <<.bss>>). This will be filled in after relocation. */ - bfd_size_type _cooked_size; + size of <<.bss>>). */ + bfd_size_type size; - /* The original size on disk of the section, in octets. Normally this - value is the same as the size, but if some relaxing has - been done, then this value will be bigger. */ - bfd_size_type _raw_size; + /* The original size on disk of the section, in octets. This field + is used by the linker relaxation code. It is currently only set + for sections where the linker relaxation scheme doesn't cache + altered section and reloc contents (stabs, eh_frame, SEC_MERGE), + and thus the original size needs to be kept to read the section + multiple times. If non-zero, rawsize will be used in address + checks during relocation and to read section contents. */ + bfd_size_type rawsize; /* If this section is going to be output, then this value is the offset in *bytes* into the output section of the first byte in the @@ -1467,6 +1473,9 @@ bfd_boolean bfd_get_section_contents (bfd *abfd, asection *section, void *location, file_ptr offset, bfd_size_type count); +bfd_boolean bfd_malloc_and_get_section + (bfd *abfd, asection *section, bfd_byte **buf); + bfd_boolean bfd_copy_private_section_data (bfd *ibfd, asection *isec, bfd *obfd, asection *osec);