diff options
author | Jakub Jelinek <jakub@redhat.com> | 2001-05-11 12:23:48 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2001-05-11 12:23:48 +0000 |
commit | 8550eb6e64bdd0582528498c5cad6f80014b7deb (patch) | |
tree | bf986785eadc085984ebc5781024a9ede9be16a8 /bfd/libbfd.h | |
parent | 15f65ae41209a87410a3b2734985db016e4e8905 (diff) | |
download | gdb-8550eb6e64bdd0582528498c5cad6f80014b7deb.zip gdb-8550eb6e64bdd0582528498c5cad6f80014b7deb.tar.gz gdb-8550eb6e64bdd0582528498c5cad6f80014b7deb.tar.bz2 |
* merge.c (struct sec_merge_hash_entry): Add u.entsize and u.suffix
fields, change sec into secinfo.
(struct sec_merge_info): Add chain, remove last fields.
(struct sec_merge_sec_info): Add next, sec, psecinfo fields.
(sec_merge_hash_lookup): If lookup could not use a string only
because it has bad alignment, mark the old string for deletion.
(sec_merge_add): Add secinfo argument. Don't compute entry's
position, instead record the section.
(sec_merge_emit): Update for the sec into secinfo change in
struct sec_merge_hash_entry.
(_bfd_merge_section): Only record the section for merging, defer
putting strings into the hash table.
(cmplengthentry, last4_eq, last_eq, record_section, merge_strings,
_bfd_merge_sections): New functions.
(_bfd_merged_section_offset): Update for the sec_merge_hash_entry
changes.
* libbfd-in.h (_bfd_merge_sections): Add prototype.
(_bfd_nolink_bfd_merge_sections): Define.
* libbfd.h: Likewise.
(bfd_generic_merge_sections): Add prototype.
* targets.c (BFD_JUMP_TABLE_LINK): Add _bfd_merge_sections.
(struct bfd_target): Likewise.
* bfd.c (bfd_merge_sections): Define.
* bfd-in2.h: Rebuilt.
* elf.c (_bfd_elf_merge_sections): New function.
* elf-bfd.h (_bfd_elf_merge_sections): Add prototype.
* elfxx-target.h (bfd_elfNN_bfd_merge_sections): Define.
* reloc.c (bfd_generic_merge_sections): New function.
* vms.c (vms_bfd_merge_sections): New function.
* aout-adobe.c (aout_32_bfd_merge_sections): Define.
* aout-target.h (MY_bfd_merge_sections): Define.
* aout-tic30.c (MY_bfd_merge_sections): Define.
* binary.c (binary_bfd_merge_sections): Define.
* bout.c (b_out_bfd_merge_sections): Define.
* coff-alpha.c (_bfd_ecoff_bfd_merge_sections): Define.
* coffcode.c (coff_bfd_merge_sections): Define.
* coff-mips.c (_bfd_ecoff_bfd_merge_sections): Define.
* i386msdos.c (msdos_bfd_merge_sections): Define.
* i386os9k.c (os9k_bfd_merge_sections): Define.
* ieee.c (ieee_bfd_merge_sections): Define.
* ihex.c (ihex_bfd_merge_sections): Define.
* nlm-target.h (nlm_bfd_merge_sections): Define.
* oasys.c (oasys_bfd_merge_sections): Define.
* ppcboot.c (ppcboot_bfd_merge_sections): Define.
* som.c (som_bfd_merge_sections): Define.
* srec.c (srec_bfd_merge_sections): Define.
* tekhex.c (tekhex_bfd_merge_sections): Define.
* versados.c (versados_bfd_merge_sections): Define.
* xcoff-target.h (_bfd_xcoff_bfd_merge_sections): Define.
* ldlang.c (lang_process): Call bfd_merge_sections.
Diffstat (limited to 'bfd/libbfd.h')
-rw-r--r-- | bfd/libbfd.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/bfd/libbfd.h b/bfd/libbfd.h index 675a6a1..9ce8e57 100644 --- a/bfd/libbfd.h +++ b/bfd/libbfd.h @@ -323,6 +323,10 @@ extern boolean _bfd_generic_set_section_contents ((boolean (*) \ PARAMS ((bfd *, struct bfd_link_info *))) \ bfd_false) +#define _bfd_nolink_bfd_merge_sections \ + ((boolean (*) \ + PARAMS ((bfd *, struct bfd_link_info *))) \ + bfd_false) #define _bfd_nolink_bfd_link_hash_table_create \ ((struct bfd_link_hash_table *(*) PARAMS ((bfd *))) bfd_nullvoidptr) #define _bfd_nolink_bfd_link_add_symbols \ @@ -467,6 +471,11 @@ extern bfd_vma _bfd_stab_section_offset extern boolean _bfd_merge_section PARAMS ((bfd *, PTR *, asection *, PTR *)); +/* Attempt to merge SEC_MERGE sections. */ + +extern boolean _bfd_merge_sections + PARAMS ((bfd *, PTR)); + /* Write out a merged section. */ extern boolean _bfd_write_merged_section @@ -1080,6 +1089,9 @@ bfd_generic_relax_section PARAMS ((bfd *abfd, boolean bfd_generic_gc_sections PARAMS ((bfd *, struct bfd_link_info *)); +boolean +bfd_generic_merge_sections PARAMS ((bfd *, struct bfd_link_info *)); + bfd_byte * bfd_generic_get_relocated_section_contents PARAMS ((bfd *abfd, struct bfd_link_info *link_info, |