diff options
author | Alan Modra <amodra@gmail.com> | 2004-06-15 01:24:22 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2004-06-15 01:24:22 +0000 |
commit | 911d08a746f9e05c389a7a5044870cd9aae06a5d (patch) | |
tree | 0dc27207e9f40ba07e654cbf5b7833d883378519 /bfd/section.c | |
parent | 135dfb4a65d79b85be0c7d869fd131ee45203192 (diff) | |
download | gdb-911d08a746f9e05c389a7a5044870cd9aae06a5d.zip gdb-911d08a746f9e05c389a7a5044870cd9aae06a5d.tar.gz gdb-911d08a746f9e05c389a7a5044870cd9aae06a5d.tar.bz2 |
* section.c (struct sec): Remove usused flags. Reorganize a little.
(bfd_get_section_size_before_reloc): Delete.
(bfd_get_section_size_after_reloc): Delete.
(STD_SECTION): Update.
(bfd_get_section_size_now): Delete.
(bfd_set_section_contents): Don't referece reloc_done.
(bfd_get_section_contents): Remove reloc_done comment.
* bout.c (b_out_bfd_get_relocated_section_contents): Don't set
reloc_done.
* coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Likewise.
* ecoff.c (bfd_debug_section): Update initializer.
* elfxx-mips.c (_bfd_elf_mips_get_relocated_section_contents): Ditto.
* reloc.c (bfd_generic_get_relocated_section_contents): Likewise.
* bfd-in.h (bfd_section_size): Expand.
(bfd_get_section_size): New macro.
* bfd-in2.h: Regenerate.
* coff64-rs6000.c (xcoff64_write_object_contents): Replace
bfd_get_section_size_before_reloc with bfd_get_section_size.
* coffcode.h (coff_write_object_contents): Likewise.
* coffgen.c (build_debug_section): Likewise.
* dwarf1.c (parse_line_table): Likewise.
(_bfd_dwarf1_find_nearest_line): Likewise.
* ecoff.c (_bfd_ecoff_write_object_contents): Likewise.
* i386msdos.c (msdos_write_object_contents): Likewise.
* pdp11.c (squirt_out_relocs): Likewise.
* elf32-sh64.c (sh64_find_section_for_address): Remove comment.
* elf64-mmix.c (mmix_elf_final_link): Update comment.
Diffstat (limited to 'bfd/section.c')
-rw-r--r-- | bfd/section.c | 47 |
1 files changed, 13 insertions, 34 deletions
diff --git a/bfd/section.c b/bfd/section.c index 7f5365b..666f06d 100644 --- a/bfd/section.c +++ b/bfd/section.c @@ -364,9 +364,6 @@ CODE_FRAGMENT . {* See the vma field. *} . unsigned int user_set_vma : 1; . -. {* Whether relocations have been processed. *} -. unsigned int reloc_done : 1; -. . {* A mark flag used by some of the linker backends. *} . unsigned int linker_mark : 1; . @@ -394,21 +391,18 @@ CODE_FRAGMENT . unsigned int use_rela_p:1; . . {* Bits used by various backends. *} -. unsigned int has_tls_reloc:1; . -. {* Nonzero if this section needs the relax finalize pass. *} -. unsigned int need_finalize_relax:1; +. {* Nonzero if this section has TLS related relocations. *} +. unsigned int has_tls_reloc:1; . . {* Nonzero if this section has a gp reloc. *} . unsigned int has_gp_reloc:1; . -. {* Unused bits. *} -. unsigned int flag13:1; -. unsigned int flag14:1; -. unsigned int flag15:1; -. unsigned int flag16:4; -. unsigned int flag20:4; -. unsigned int flag24:8; +. {* Nonzero if this section needs the relax finalize pass. *} +. unsigned int need_finalize_relax:1; +. +. {* Whether relocations have been processed. *} +. unsigned int reloc_done : 1; . . {* End of internal packed boolean fields. *} . @@ -557,11 +551,6 @@ CODE_FRAGMENT .extern const struct bfd_symbol * const bfd_com_symbol; .extern const struct bfd_symbol * const bfd_und_symbol; .extern const struct bfd_symbol * const bfd_ind_symbol; -.#define bfd_get_section_size_before_reloc(section) \ -. ((section)->_raw_size) -.#define bfd_get_section_size_after_reloc(section) \ -. ((section)->reloc_done ? (section)->_cooked_size \ -. : (abort (), (bfd_size_type) 1)) . .{* Macros to handle insertion and deletion of a bfd's sections. These . only handle the list pointers, ie. do not adjust section_count, @@ -616,21 +605,18 @@ static const asymbol global_syms[] = #define STD_SECTION(SEC, FLAGS, SYM, NAME, IDX) \ const asymbol * const SYM = (asymbol *) &global_syms[IDX]; \ asection SEC = \ - /* name, id, index, next, flags, user_set_vma, reloc_done, */ \ - { NAME, IDX, 0, NULL, FLAGS, 0, 0, \ + /* name, id, index, next, flags, user_set_vma, */ \ + { NAME, IDX, 0, NULL, FLAGS, 0, \ \ /* linker_mark, linker_has_input, gc_mark, segment_mark, */ \ 0, 0, 1, 0, \ \ - /* sec_info_type, use_rela_p, has_tls_reloc, */ \ - 0, 0, 0, \ + /* sec_info_type, use_rela_p, has_tls_reloc, has_gp_reloc, */ \ + 0, 0, 0, 0, \ \ - /* need_finalize_relax, has_gp_reloc, */ \ + /* need_finalize_relax, reloc_done, */ \ 0, 0, \ \ - /* flag13, flag14, flag15, flag16, flag20, flag24, */ \ - 0, 0, 0, 0, 0, 0, \ - \ /* vma, lma, _cooked_size, _raw_size, */ \ 0, 0, 0, 0, \ \ @@ -1243,11 +1229,6 @@ DESCRIPTION */ -#define bfd_get_section_size_now(abfd, sec) \ - (sec->reloc_done \ - ? bfd_get_section_size_after_reloc (sec) \ - : bfd_get_section_size_before_reloc (sec)) - bfd_boolean bfd_set_section_contents (bfd *abfd, sec_ptr section, @@ -1263,7 +1244,7 @@ bfd_set_section_contents (bfd *abfd, return FALSE; } - sz = bfd_get_section_size_now (abfd, section); + sz = section->_cooked_size != 0 ? section->_cooked_size : section->_raw_size; if ((bfd_size_type) offset > sz || count > sz || offset + count > sz @@ -1343,8 +1324,6 @@ bfd_get_section_contents (bfd *abfd, return TRUE; } - /* Even if reloc_done is TRUE, this function reads unrelocated - contents, so we want the raw size. */ sz = section->_raw_size; if ((bfd_size_type) offset > sz || count > sz |