summaryrefslogtreecommitdiff
path: root/bfd/section.c
Commit message (Collapse)AuthorAgeFilesLines
...
* bfd/H.J. Lu2004-05-021-0/+51
| | | | | | | | | | | | | | | 2004-05-02 H.J. Lu <hongjiu.lu@intel.com> * section.c (bfd_get_section_by_name_if): New. * bfd-in2.h: Regenerated. gas/ 2004-05-02 H.J. Lu <hongjiu.lu@intel.com> * config/obj-elf.c (get_section): Return bfd_boolean. (obj_elf_change_section): Call bfd_get_section_by_name_if instead of bfd_map_over_sections.
* * section.c (bfd_make_section_anyway): Copy the wholeAlan Modra2004-05-011-1/+1
| | | | bfd_hash_entry, not just "next" from existing entry.
* 2004-04-30 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu2004-04-301-0/+35
| | | | | * section.c (bfd_sections_find_if): New. * bfd-in2.h: Regenerated.
* * section.c (bfd_make_section_anyway): Add all sections to hash tab.Alan Modra2004-04-301-7/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * elf-bfd.h (bfd_elf_is_group_section): Declare. * elf.c (bfd_elf_is_group_section): New function. * elfxx-target.h (bfd_elfNN_bfd_is_group_section * section.c (bfd_generic_is_group_section): New function. * targets.c (struct bfd_target): Add _bfd_is_group_section field. (BFD_JUMP_TABLE_LINK): Adjust. * aout-adobe.c (aout_32_bfd_is_group_section): Define. * aout-target.h (MY_bfd_is_group_section): Define. * aout-tic30.c (MY_bfd_is_group_section): Define. * bfd.c (bfd_is_group_section): Define. * binary.c (binary_bfd_is_group_section): Define. * bout.c (b_out_bfd_is_group_section): Define. * coff-alpha.c (_bfd_ecoff_bfd_is_group_section): Define. * coff-mips.c (_bfd_ecoff_bfd_is_group_section): Define. * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Adjust. * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Adjust. * coffcode.h (coff_bfd_is_group_section): Define. * i386msdos.c (msdos_bfd_is_group_section): Define. * i386os9k.c (os9k_bfd_is_group_section): Define. * ieee.c (ieee_bfd_is_group_section): Define. * ihex.c (ihex_bfd_is_group_section): Define. * libbfd-in.h (_bfd_nolink_bfd_is_group_section): Define. * mach-o.c (bfd_mach_o_bfd_is_group_section): Define. * mmo.c (mmo_bfd_is_group_section): Define. * nlm-target.h (nlm_bfd_is_group_section): Define. * oasys.c (oasys_bfd_is_group_section): Define. * pef.c (bfd_pef_bfd_is_group_section): Define. * ppcboot.c (ppcboot_bfd_is_group_section): Define. * srec.c (srec_bfd_is_group_section): Define. * tekhex.c (tekhex_bfd_is_group_section): Define. * versados.c (versados_bfd_is_group_section): Define. * vms.c (vms_bfd_is_group_section): Define. * xsym.c (bfd_sym_bfd_is_group_section): Define. * bfd-in2.h: Regenerate. * libbfd.h: Regenerate.
* * coff-rs6000.c: Remove ARGSUSED and VARARGS.Kazu Hirata2003-12-011-2/+0
| | | | | | | | | | | | | | | | | | * coff64-rs6000.c: Likewise. * coffcode.h: Likewise. * elf32-vax.c: Likewise. * hash.c: Likewise. * hppabsd-core.c: Likewise. * hpux-core.c: Likewise. * ihex.c: Likewise. * netbsd-core.c: Likewise. * osf-core.c: Likewise. * pdp11.c: Likewise. * ptrace-core.c: Likewise. * sco5-core.c: Likewise. * section.c: Likewise. * sunos.c: Likewise. * trad-core.c: Likewise.
* * ChangeLog: Fix typos.Kazu Hirata2003-11-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ecoff.c: Fix comment typos. * ecofflink.c: Likewise. * format.c: Likewise. * hp300hpux.c: Likewise. * i386linux.c: Likewise. * ieee.c: Likewise. * m68klinux.c: Likewise. * mach-o.h: Likewise. * mipsbsd.c: Likewise. * oasys.c: Likewise. * opncls.c: Likewise. * peXXigen.c: Likewise. * reloc.c: Likewise. * reloc16.c: Likewise. * section.c: Likewise. * simple.c: Likewise. * som.c: Likewise. * som.h: Likewise. * sparclinux.c: Likewise. * srec.c: Likewise. * syms.c: Likewise. * targets.c: Likewise. * tekhex.c: Likewise. * versados.c: Likewise. * vms-gsd.c: Likewise. * vms-hdr.c: Likewise. * vms-misc.c: Likewise. * xcofflink.c: Likewise. * xsym.h: Likewise. * bfd-in2.h: Regenerate.
* 2003-11-03 Andrew Cagney <cagney@redhat.com>Andrew Cagney2003-11-031-3/+3
| | | | | | | | | | | * section.c (bfd_set_section_contents): Make the "location" buffer constant. * bfd-in2.h: Re-generate. Index: gdb/ChangeLog 2003-11-03 Andrew Cagney <cagney@redhat.com> * exec.c (xfer_memory): Eliminate xfer_fn.
* Index: sim/frv/ChangeLogAndrew Cagney2003-10-311-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-10-30 Andrew Cagney <cagney@redhat.com> * traps.c: Replace "struct symbol_cache_entry" with "struct bfd_symbol". Index: sim/d10v/ChangeLog 2003-10-30 Andrew Cagney <cagney@redhat.com> * simops.c: Replace "struct symbol_cache_entry" with "struct bfd_symbol". Index: sim/common/ChangeLog 2003-10-30 Andrew Cagney <cagney@redhat.com> * sim-trace.c, sim-base.h: Replace "struct symbol_cache_entry" with "struct bfd_symbol". Index: ld/ChangeLog 2003-10-30 Andrew Cagney <cagney@redhat.com> * emultempl/pe.em, pe-dll.c: Replace "struct symbol_cache_entry" with "struct bfd_symbol". Index: bfd/ChangeLog 2003-10-30 Andrew Cagney <cagney@redhat.com> * syms.c: Replace "struct symbol_cache_entry" with "struct bfd_symbol". * vms.h, targets.c, section.c, reloc.c, peicode.h: Ditto. * mipsbsd.c, elf.c, linker.c, elf-bfd.h, ecoff.c: Ditto. * cpu-z8k.c, cpu-ns32k.c, cpu-h8500.c, bfd.c, bfd-in.h: Ditto. * bfd-in2.h: Re-generate.
* 2003-10-23 Michael Snyder <msnyder@redhat.com>Michael Snyder2003-10-231-1/+1
| | | | * section.c (asection): Fix typo in comment.
* 2003-10-19 Andrew Cagney <cagney@redhat.com>Andrew Cagney2003-10-201-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * targets.c: Replace "struct sec" with "struct bfd_section" * syms.c, sparclynx.c, section.c, opncls.c: Ditto. * libcoff-in.h, libbfd-in.h, elfxx-target.h: Ditto. * elf.c, coffgen.c, bfd.c, bfd-in.h, aoutf1.h: Ditto. * aout-tic30.c, aout-target.h: * bfd-in2.h, libcoff.h, libbfd.h: Regenerate. Index: binutils/ChangeLog 2003-10-19 Andrew Cagney <cagney@redhat.com> * coffgrok.h (coff_section): Replace 'struct sec" with "struct bfd_section". Index: gdb/ChangeLog 2003-10-19 Andrew Cagney <cagney@redhat.com> * symtab.c: Replace "struct sec" with "struct bfd_section". * objfiles.c, linespec.c, blockframe.c, block.c: Ditto. Index: ld/ChangeLog 2003-10-19 Andrew Cagney <cagney@redhat.com> * pe-dll.c: Replace "struct sec" with "struct bfd_section". Index: sim/common/ChangeLog 2003-10-19 Andrew Cagney <cagney@redhat.com> * sim-base.h: Replace "struct sec" with "struct bfd_section".
* * section.c (bfd_get_section_size_before_reloc): Ignore reloc_done.Alan Modra2003-10-111-2/+1
| | | | * bfd-in2.h: Regenerate.
* bfd/H.J. Lu2003-07-251-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-07-25 H.J. Lu <hongjiu.lu@intel.com> * elf-bfd.h (bfd_elf_special_section): New. (elf_backend_data): Add special_sections, a pointer to bfd_elf_special_section. (elf_section_type). New. (elf_section_flags): New. (_bfd_elf_get_sec_type_attr): New. * elf.c (_bfd_elf_make_section_from_shdr): Always use the real section type/flags. (special_sections): New. (get_special_section): New. (_bfd_elf_get_sec_type_attr): New. (_bfd_elf_new_section_hook): Check special_section to set elf_section_type and elf_section_flags. (elf_fake_sections): Don't use section name to set ELF section data. * elf32-m32r.c (m32r_elf_special_sections): New. (elf_backend_special_sections): Defined. * elf32-m68hc11.c (elf32_m68hc11_special_sections): New. (elf_backend_special_sections): Defined. * elf32-mcore.c (mcore_elf_special_sections): New. (elf_backend_special_sections): Defined. * elf32-ppc.c (ppc_elf_special_sections): New. (elf_backend_special_sections): Defined. * elf32-sh64.c (sh64_elf_special_sections): New. (elf_backend_special_sections): Defined. * elf32-v850.c (v850_elf_special_sections): New. (elf_backend_special_sections): Defined. * elf32-xtensa.c (elf_xtensa_special_sections): New. (elf_backend_special_sections): Defined. * elf64-alpha.c (elf64_alpha_special_sections): New. (elf_backend_special_sections): Defined. * elf64-hppa.c (elf64_hppa_special_sections): New. (elf_backend_special_sections): Defined. * elf64-ppc.c (ppc64_elf_special_sections): New. (elf_backend_special_sections): Defined. * elf64-sh64.c (sh64_elf64_special_sections): New. (elf_backend_special_sections): Defined. * elfxx-ia64.c (elfNN_ia64_special_sections): New. (elf_backend_special_sections): Defined. * elfxx-mips.c (_bfd_mips_elf_special_sections): New. * elfxx-mips.h (_bfd_mips_elf_special_sections): New. (elf_backend_special_sections): Defined. * elfxx-target.h (elf_backend_special_sections): New. Default to NULL. (elfNN_bed): Initialize special_sections. * section.c (bfd_abs_section): Remove const. (bfd_und_section): Likewise. (bfd_com_section): Likewise. (bfd_ind_section): Likewise. gas/ 2003-07-25 H.J. Lu <hongjiu.lu@intel.com> * config/obj-elf.c (special_sections): Removed. (obj_elf_change_section): Call _bfd_elf_get_sec_type_attr. Set elf_section_type and elf_section_flags. (elf_frob_file): Set SHT_GROUP. * config/obj-elf.h (obj_sec_set_private_data): New. * config/tc-alpha.h (ELF_TC_SPECIAL_SECTIONS): Removed. * config/tc-ia64.h: Likewise. * config/tc-m32r.h: Likewise. * config/tc-m68hc11.h: Likewise. * config/tc-mcore.h: Likewise. * config/tc-mips.h: Likewise. * config/tc-ppc.h: Likewise. * config/tc-sh64.h: Likewise. * config/tc-v850.h: Likewise. * config/tc-xtensa.h: Likewise. * config/tc-v850.h (SHF_V850_GPREL): Removed. (SHF_V850_EPREL): Likewise. (SHF_V850_R0REL): Likewise. * subsegs.c (subseg_get): Call obj_sec_set_private_data if it is defined. include/elf/ 2003-07-25 H.J. Lu <hongjiu.lu@intel.com> * v850.h (SHF_V850_GPREL): New. (SHF_V850_EPREL): Likewise. (SHF_V850_R0REL): Likewise.
* * elfcode.h (elf_object_p): Allocate tdata via _bfd_set_format.Alan Modra2003-07-081-2/+0
| | | | | * elfcore.h (elf_core_file_p): Likewise. * section.c (bfd_section_init): Remove prototype.
* * section.c (bfd_make_section): Return NULL for existing section.Alan Modra2003-07-041-1/+1
|
* Convert to C90 and a few tweaks.Alan Modra2003-06-291-94/+67
|
* bfd/H.J. Lu2003-06-181-2/+6
| | | | | | | | | | | | | | | | | | | 2003-06-17 H.J. Lu <hongjiu.lu@intel.com> * section.c (struct sec): Put back kept_section. (STD_SECTION): Put back kept_section initialization. * bfd-in2.h: Regenerate. * elflink.h (elf_link_input_bfd): Also check discarded linkonce sections for relocateable output. Use kept_section to preserve debug information discarded by linkonce. ld/ 2003-06-17 H.J. Lu <hongjiu.lu@intel.com> * ldlang.c (section_already_linked): Put back assignment of kept_section.
* * elf64-ppc.c: Move TARGET_LITTLE_SYM and other macros used byAlan Modra2003-06-081-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | elfxx-target.h so that we can use elf_backend_got_header_size. (ELF_MACHINE_ALT1, ELF_MACHINE_ALT2): Delete. (GLINK_CALL_STUB_SIZE): Modify. Define new glink call stub and associated macros. (ppc64_elf_howto_raw <GOT_TPREL16_DS, GOT_TPREL16_LO_DS>): Correct dst_mask. (enum ppc_stub_type): Add ppc_stub_long_branch_r2off and ppc_stub_plt_branch_r2off. (struct ppc_stub_hash_entry): Reorganize. (struct ppc_link_hash_table): Add no_multi_toc, multi_toc_needed, toc_curr, toc_off and emit_stub_syms. (ppc64_elf_link_hash_table_create): Init them. (ppc_stub_name): Correct string size. (ppc64_elf_check_relocs): Set has_gp_reloc on GOT and TOC relocs. (ppc64_elf_size_dynamic_sections): Set no_multi_toc if GOT entries used. (ppc_type_of_stub): Tweak root.type test. (build_plt_stub): Remove glink code. Adjust for insn macro changes. (ppc_size_one_stub): Handle ppc_stub_long_branch_r2off and ppc_stub_plt_branch_r2off. (ppc_build_one_stub): Likewise. Fix var shadowing. Correct addis,addi range test. Use toc_off to calculte r2 values. Handle emit_stub_syms. (ppc64_elf_setup_section_lists): Remove htab creator flavour test. Initialize elf_gp and toc_curr. (ppc64_elf_next_toc_section, ppc64_elf_reinit_toc): New functions. (ppc64_elf_next_input_section): Set toc_off. (group_sections): Ensure groups have the same TOC. (ppc64_elf_size_stubs): Check whether we need a TOC adjusting stub. (ppc64_elf_build_stubs): Add emit_stub_syms param, and stash in htab. Build new glink stub. (ppc64_elf_relocate_section): Handle multiple TOCs. Fix comments. (ppc64_elf_finish_dynamic_sections): Adjust DT_PPC64_GLINK. * elf64-ppc.h (ppc64_elf_build_stubs): Update prototype. (ppc64_elf_next_toc_section, ppc64_elf_reinit_toc): Declare. * section.c (struct sec): Rename flag12 to has_gp_reloc. (STD_SECTION): Update. * ecoff.c (bfd_debug_section): Update comment. * bfd-in2.h: Regenerate.
* bfd/H.J. Lu2003-04-291-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-04-28 H.J. Lu <hjl@gnu.org> * elfxx-ia64.c (elfNN_ia64_relax_section): Relax ldxmov during the relax finalize pass. * section.c (struct sec): Add need_finalize_relax and remove flag11. (STD_SECTION): Update struct sec initializer. * bfd-in2.h: Regenerated. include/ 2003-04-28 H.J. Lu <hjl@gnu.org> * bfdlink.h (bfd_link_info): Add relax_finalizing. ld/ 2003-04-28 H.J. Lu <hjl@gnu.org> * ldlang.c (lang_process): Add the relax finalize pass. * ldmain.c (main): Initialize link_info.relax_finalizing to FALSE.
* bfdAlan Modra2003-02-041-3/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * elf-bfd.h (enum elf_link_info_type): Remove. (struct bfd_elf_section_data): Move sec_info_type, use_rela_p fields to struct sec. Remove linkonce_p field. (elf_linkonce_p): Delete. (elf_discarded_section): Update for sec_info_type change. * section.c (struct sec): Add sec_info_type, use_rela_p, has_tls_reloc, flag11, flag12, flag13, flag14, flag15, flag16, flag20, flag24. (ELF_INFO_TYPE_NONE): Define. (ELF_INFO_TYPE_STABS): Define. (ELF_INFO_TYPE_MERGE): Define. (ELF_INFO_TYPE_EH_FRAME): Define. (ELF_INFO_TYPE_JUST_SYMS): Define. (STD_SECTION): Update struct sec initializer. * ecoff.c (bfd_debug_section): Likewise. * elf.c: Likewise. Update occurrences of sec_info_type and use_rela_p. * elflink.h: Likewise. * elf-eh-frame.c: Likewise. * elf64-alpha.c: Likewise. * elfxx-ia64.c: Likewise. * elfxx-mips.c: Likewise. * bfd-in2.h: Regenerate. * elf32-sparc.c (sec_do_relax): Use elf_section_data macro rather than referring to used_by_bfd. * elf64-sparc.c (sec_do_relax): Likewise. * elf64-mmix.c (mmix_elf_section_data): Likewise. * elfxx-mips.c (mips_elf_section_data): Likewise. * ieee.c (ieee_slurp_section_data): Use ieee_per_section macro. (ieee_get_section_contents): Likewise. (ieee_new_section_hook): Formatting. (ieee_canonicalize_reloc): Remove commented out code. * mmo.c (mmo_section_data): Define. Use throughout file. * oasys.c (oasys_get_section_contents): Use oasys_per_section macro. gas * config/obj-elf.c (obj_elf_change_section): Set SEC_LINK_ONCE and SEC_LINK_DUPLICATES_DISCARD directly rather than using elf_linkonce_p.
* s/boolean/bfd_boolean/ s/true/TRUE/ s/false/FALSE/. SimplifyAlan Modra2002-11-301-46/+46
| | | | comparisons of bfd_boolean vars with TRUE/FALSE. Formatting.
* * aoutx.h (NAME(aout,swap_ext_reloc_in)): Cast bytes->r_index toDave Anglin2002-10-251-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | unsigned int. Cast RELOC_BASE10, RELOC_BASE13 and RELOC_BASE22 to unsigned int. (NAME(aout,final_link)): Cast enum used in assignment. (aout_link_write_symbols): Cast enums in comparisons, int values to boolean, enums in assignments to int. (aout_link_input_section_std): Cast rel->r_index to unsigned int. (aout_link_input_section_ext): Likewise. Cast enums used in comparisons with unsigned ints. (aout_link_reloc_link_order): Cast enum to int in assignment. * archive.c (_bfd_generic_read_ar_hdr_mag): Cast result of memchr calls to char *. * bfd-in.h (bfd_set_section_vma): Cast enum true to unsigned int in assignment. * bfd-in2.h (bfd_set_section_vma): Likewise. * bfd.c (bfd_record_phdr): Cast enums in assignments. * binary.c (bfd_alloc): Cast enum to long. * coffgen.c (_bfd_coff_is_local_label_name): Cast return to boolean. * dwarf2.c (read_abbrevs): Add casts to enum types. (read_attribute_value): Likewise. (arange_add): Cast result of bfd_zalloc call. (comp_unit_contains_address): Return true and false. (comp_unit_find_nearest_line): Cast return to boolean. * format.c (bfd_check_format_matches, bfd_set_format): Likewise. * gen-aout.c: define macro '_' if not defined. * libbfd.c (bfd_realloc): Cast malloc and realloc to PTR. (bfd_bwrite): Cast bfd_realloc to bfd_byte *. (bfd_write_bigendian_4byte_int): Cast return to boolean. (bfd_seek): Cast bfd_realloc to bfd_byte *. (bfd_generic_is_local_label_name): Cast return to boolean. * libcoff.h (_bfd_coff_adjust_symndx): Remove extraneous '\'. * linker.c (_bfd_link_hash_newfunc): Cast bfd_hash_allocate result to struct bfd_hash_entry *. (_bfd_generic_link_hash_newfunc): likewise. (_bfd_generic_final_link): Cast enum to unsigned int. * merge.c (sec_merge_emit): Cast return to boolean. (merge_strings): Add casts to const unsigned char *. * reloc.c (bfd_get_reloc_code_name): Cast enums in comparison to int. (bfd_generic_get_relocated_section_content): Cast enum to unsigned int. * section.c (bfd_section_hash_newfunc): Cast bfd_hash_allocate result to struct bfd_hash_entry *. (bfd_set_section_content): Add cast to PTR in comparison. * simple.c (simple_dummy_warning, simple_dummy_undefined_symbol, simple_dummy_reloc_overflow, simple_dummy_reloc_dangerous, simple_dummy_unattached_reloc, bfd_simple_get_relocated_section_contents): Add K&R declarations and function definitions. * srec.c (S3Forced): Initialize to false. (srec_get_symtab): Cast return value from bfd_alloc to asymbol *. * stabs.c (_bfd_link_section_stabs): Cast enum to int in comparisons. (_bfd_discard_section_stabs): Likewise. Also cast return to boolean. * syms.c (bfd_is_undefined_symclass): Cast return to boolean. (_bfd_stab_section_find_nearest_line): Cast enum to bfd_byte in comparisons.
* * section.c (_bfd_strip_section_from_output): Remove unnecessaryAlan Modra2002-07-041-62/+22
| | | | | | | link order code. Don't actually remove the output section here; Just set a flag for the linker to do so. * elflink.c (_bfd_elf_link_renumber_dynsyms): Test for removed sections when setting up output section dynsyms.
* * elf64-ppc.c (ppc_add_stub): Replace strcpy/strncpy with memcpy.Alan Modra2002-06-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * elf32-hppa.c (hppa_add_stub): Likewise. * elflink.c (_bfd_elf_link_record_dynamic_symbol): Likewise. * elflink.h (elf_add_default_symbol): Fix comment typo. (elf_add_default_symbol): Replace strcpy and strncpy with memcpy. (elf_link_add_object_symbols): Likewise. (elf_link_assign_sym_version): Likewise. * hash.c (bfd_hash_lookup): Likewise. * linker.c (_bfd_generic_link_add_one_symbol): Likewise. * section.c (bfd_get_unique_section_name): Likewise. * syms.c (_bfd_stab_section_find_nearest_line): Likewise. * elf.c (_bfd_elf_make_section_from_phdr): Likewise. (assign_section_numbers): Likewise. (_bfd_elfcore_make_pseudosection): Likewise. (elfcore_grok_lwpstatus): Likewise. (elfcore_grok_win32pstatus): Likewise. (elfcore_write_note): Constify input params. Use PTR instead of void *. Include terminating NUL in namesz. Correct padding. Support NULL "name" param. Use memcpy instead of strcpy. (elfcore_write_prpsinfo): Constify input params. (elfcore_write_prstatus): Likewise. Use PTR instead of void *. (elfcore_write_lwpstatus): Likewise. (elfcore_write_pstatus): Likewise. (elfcore_write_prfpreg): Likewise. (elfcore_write_prxfpreg): Likewise. * elf-bfd.h (elfcore_write_note): Update declaration. (elfcore_write_prpsinfo): Likewise. (elfcore_write_prstatus): Likewise. (elfcore_write_pstatus): Likewise. (elfcore_write_prfpreg): Likewise. (elfcore_write_prxfpreg): Likewise. (elfcore_write_lwpstatus): Likewise.
* * section.c (_bfd_strip_section_from_output): Set SEC_EXCLUDERichard Sandiford2002-06-101-0/+1
| | | | for removed output sections.
* * bfd-in.h: Remove "taken from the source" comment.Alan Modra2002-06-051-9/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * libbfd-in.h: Likewise. * libcoff-in.h: Likewise. * bfd-in2.h: Regenerate. * libbfd.h: Regenerate. * libcoff.h: Regenerate. * elf.c (bfd_elf_discard_group): Return true. * elf-bfd.h (bfd_elf_discard_group): Declare. * bfd-in.h (bfd_elf_discard_group): Don't declare here. * section.c (bfd_discard_group): Rename to bfd_generic_discard_group. * bfd.c (bfd_discard_group): Define. * targets.c (struct bfd_target): Add _bfd_discard_group. (BFD_JUMP_TABLE_LINK): Here too. * libbfd-in.h (_bfd_nolink_bfd_discard_group): Define. * aout-adobe.c (aout_32_bfd_discard_group): Define. * aout-target.h (MY_bfd_discard_group): Define. * aout-tic30.c (MY_bfd_discard_group): Define. * binary.c (binary_bfd_discard_group): Define. * bout.c (b_out_bfd_discard_group): Define. * coff-alpha.c (_bfd_ecoff_bfd_discard_group): Define. * coffcode.h (coff_bfd_discard_group): Define. * coff-mips.c (_bfd_ecoff_bfd_discard_group): Define. * elfxx-target.h (bfd_elfNN_bfd_discard_group): Define. * i386msdos.c (msdos_bfd_discard_group): Define. * i386os9k.c (os9k_bfd_discard_group): Define. * ieee.c (ieee_bfd_discard_group): Define. * ihex.c (ihex_bfd_discard_group): Define. * mmo.c (mmo_bfd_discard_group): Define. * nlm-target.h (nlm_bfd_discard_group): Define. * oasys.c (oasys_bfd_discard_group): Define. * ppcboot.c (ppcboot_bfd_discard_group): Define. * som.c (som_bfd_discard_group): Define. * srec.c (srec_bfd_discard_group): Define. * tekhex.c (tekhex_bfd_discard_group): Define. * versados.c (versados_bfd_discard_group): Define. * vms.c (vms_bfd_discard_group): Define. * xcoff-target.h (_bfd_xcoff_bfd_discard_group): Define. * coff64-rs6000.c (rs6000coff64_vec): Update initialiser. (aix5coff64_vec): Likewise. * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Likewise.
* * elf.c (setup_group): Set SEC_LINK_ONCE on GRP_COMDAT groups.Alan Modra2002-06-041-0/+21
| | | | | | | | | | | | | | | | (bfd_section_from_shdr): Likewise. Set section name of group sections from signature. (group_signature): Split out from setup_group. Ensure symbol table is available. (bfd_elf_discard_group): New function. (_bfd_elf_make_section_from_shdr): Don't set SEC_LINK_ONCE on .gnu.linkonce* sections if they are members of a group. (set_group_contents): Set GRP_COMDAT flag. * section.c (bfd_discard_group): New function. * bfd-in.h (bfd_elf_discard_group): Declare. * bfd-in2.h: Regenerate. * elf-bfd.h (struct bfd_elf_section_data): Add linkonce_p field. (elf_linkonce_p): Define.
* * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCALJakub Jelinek2002-05-231-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for symbols from SHF_TLS section. (_bfd_elf_print_private_bfd_data): Add PT_TLS. (elf_fake_sections): Set SHF_TLS for SEC_THREAD_LOCAL sections. (map_sections_to_segments): Build PT_TLS segment if necessary. (assign_file_positions_for_segments): Likewise. (get_program_header_size): Account for PT_TLS segment. (swap_out_syms): Set type of BSF_THREAD_LOCAL symbols and symbols from SEC_THREAD_LOCAL sections to STT_TLS. * reloc.c: Add 386 and IA-64 TLS relocs. * section.c (SEC_THREAD_LOCAL): Define. (SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS): Remove. * elflink.h (elf_link_add_object_symbols): Support .tcommon. (size_dynamic_sections): If DF_STATIC_TLS, set DF_FLAGS unconditionally. (struct elf_final_link_info): Add first_tls_sec. (elf_bfd_final_link): Set first_tls_sec. Compute elf_hash_table (info)->tls_segment. (elf_link_output_extsym): Handle STT_TLS symbols. (elf_link_input_bfd): Likewise. * syms.c (BSF_THREAD_LOCAL): Define. * bfd-in2.h: Rebuilt. * libbfd.h: Rebuilt. * elf32-i386.c (elf_i386_tls_transition, dtpoff_base, tpoff, elf_i386_mkobject, elf_i386_object_p): New functions. (elf_howto_table): Add TLS relocs. (elf_i386_reloc_type_lookup): Support TLS relocs. (elf_i386_info_to_howto_rel): Likewise. (struct elf_i386_link_hash_entry): Add tls_type. (struct elf_i386_obj_tdata): New. (elf_i386_hash_entry, elf_i386_tdata, elf_i386_local_got_tls_type): New macros. (struct elf_i386_link_hash_table): Add tls_ldm_got. (link_hash_newfunc): Clear tls_type. (elf_i386_check_relocs): Support TLS relocs. (elf_i386_gc_sweep_hook): Likewise. (allocate_dynrelocs): Likewise. (elf_i386_size_dynamic_sections): Likewise. (elf_i386_relocate_section): Likewise. (elf_i386_finish_dynamic_symbol): Likewise. (bfd_elf32_mkobject, elf_backend_object_p): Define. * elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add tprel_offset, dtpmod_offset, dtprel_offset, tprel_done, dtpmod_done, dtprel_done, want_tprel, want_dtpmod, want_dtprel. (elfNN_ia64_tprel_base, elfNN_ia64_dtprel_base): New functions. (ia64_howto_table): Add TLS relocs, rename R_IA64_LTOFF_TP22 to R_IA64_LTOFF_TPREL22. (elf_code_to_howto_index): Add TLS relocs. (elfNN_ia64_check_relocs): Support TLS relocs. (allocate_global_data_got): Account for TLS .got data. (allocate_dynrel_entries): Account for TLS dynamic relocations. (elfNN_ia64_install_value): Supprt TLS relocs. (set_got_entry): Support TLS relocs. (elfNN_ia64_relocate_section): Likewise. * config/obj-elf.c (elf_common): Renamed from obj_elf_common. (obj_elf_common): Call elf_common. (obj_elf_tls_common): New function. (elf_pseudo_tab): Support .tls_common. (special_sections): Add .tdata and .tbss. (obj_elf_change_section): Set SEC_THREAD_LOCAL for SHF_TLS sections. (obj_elf_parse_section_letters): Support T in section flags (SHF_TLS). (obj_elf_parse_section_letters): Include T in error message. * config/tc-ppc.c (ppc_section_letter): Likewise. * config/tc-alpha.c (alpha_elf_section_letter): Likewise. (tc_gen_reloc): Handle SEC_THREAD_LOCAL the same way as SEC_MERGE. * config/tc-sparc.c (md_apply_fix3): Likewise. * config/tc-i386.c (tc_i386_fix_adjustable): Add TLS relocs. Define them if not BFD_ASSEMBLER. (lex_got): Support @TLSGD, @TLSLDM, @GOTTPOFF, @TPOFF, @DTPOFF and @NTPOFF. (md_apply_fix3): Add TLS relocs. * config/tc-ia64.c (enum reloc_func): Add FUNC_DTP_MODULE, FUNC_DTP_RELATIVE, FUNC_TP_RELATIVE, FUNC_LT_DTP_MODULE, FUNC_LT_DTP_RELATIVE, FUNC_LT_TP_RELATIVE. (pseudo_func): Support @dtpmod(), @dtprel() and @tprel(). (ia64_elf_section_letter): Include T in error message. (md_begin): Support TLS operators. (md_operand): Likewise. (ia64_gen_real_reloc_type): Support TLS relocs. * testsuite/gas/i386/tlspic.s: New file. * testsuite/gas/i386/tlsd.s: New file. * testsuite/gas/i386/tlsnopic.s: New file. * testsuite/gas/i386/tlsd.d: New file. * testsuite/gas/i386/tlsnopic.d: New file. * testsuite/gas/i386/tlspic.d: New file. * testsuite/gas/i386/i386.exp: Add tlsd, tlsnopic and tlspic tests. * testsuite/gas/ia64/tls.s: New file. * testsuite/gas/ia64/tls.d: New file. * testsuite/gas/ia64/ia64.exp: Add tls test. * write.c (adjust_reloc_syms): Don't change symbols in SEC_THREAD_LOCAL sections to STT_SECTION + addend. * elf/common.h (PT_TLS, SHF_TLS, STT_TLS, DF_STATIC_TLS): Define. * elf/ia64.h (R_IA64_LTOFF_TPREL22): Renamed from R_IA64_LTOFF_TP22. * elf/i386.h: Add TLS relocs. * scripttempl/elf.sc: Add .rel{,a}.t{bss,data}, .tdata and .tbss. * ldlang.c (lang_add_section): Set SEC_THREAD_LOCAL for output section if necessary. Handle .tbss. (lang_size_sections): Clear _raw_size for .tbss section (it allocates space in PT_TLS segment only). * ldwrite.c (build_link_order): Build link order for .tbss too. * readelf.c (get_segment_type): Add PT_TLS. (get_elf_section_flags): Add SHF_TLS. (get_dynamic_flags): Optimize. Add DF_STATIC_TLS. (process_dynamic_segment): Use puts instead of printf. (get_symbol_type): Support STT_TLS. * objdump.c (dump_section_header): Remove SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS. Add SEC_THREAD_LOCAL.
* Tidy up formatting in bfd-in2.hNick Clifton2002-01-301-35/+8
|
* * section.c (bfd_section_init): Remove unnecessary initialisations.Alan Modra2002-01-051-13/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (bfd_section_list_clear): New function. (bfd_section_list_remove, bfd_section_list_insert): New macros. (_bfd_strip_section_from_output): Use them. * coffcode.h (coff_set_alignment_hook): Likewise. * elf32-mips.c (_bfd_mips_elf_final_link): Likewise. * elf64-mips.c (mips_elf64_final_link): Likewise. * elf64-mmix.c (mmix_elf_final_link): Likewise. * sunos.c (sunos_add_dynamic_symbols): Likewise. * xcofflink.c (_bfd_xcoff_bfd_final_link): Likewise. * bfd-in2.h: Regenerate. * netbsd-core.c (netbsd_core_file_p): Use bfd_make_section_anyway rather than doing our own section handling. Clean up after errors with bfd_release and bfd_section_list_clear. Handle unexpected flags. * aoutf1.h (sunos4_core_file_p): Likewise. * aix386-core.c (aix386_core_file_p): Likewise. * cisco-core.c (cisco_core_file_validate): Likewise. * ptrace-core.c (ptrace_unix_core_file_p): Likewise. * trad-core.c (trad_unix_core_file_p): Likewise. * hppabsd-core.c (hppabsd_core_core_file_p): Clean up after errors with bfd_release and bfd_section_list_clear. * hpux-core.c (hpux_core_core_file_p): Likewise. * irix-core.c (irix_core_core_file_p): Likewise. * lynx-core.c (lynx_core_file_p): Likewise. * osf-core.c (osf_core_core_file_p): Likewise. * rs6000-core.c (rs6000coff_core_p): Likewise. * sco5-core.c (sco5_core_file_p): Likewise.
* hash bfd sections for fast lookup and create.Alan Modra2001-12-171-78/+160
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bfd/ChangeLog * bfd.c (struct _bfd): Add section_htab, section_tail. * libbfd-in.h (_bfd_delete_bfd): Declare. (bfd_section_hash_newfunc): Declare. * opncls.c (_bfd_new_bfd): Free memory on failure. Init section_htab and section_tail. (_bfd_delete_bfd): New function. (bfd_openr): Use it. (bfd_fdopenr): Likewise. (bfd_openstreamr): Likewise. (bfd_openw): Likewise. (bfd_close): Likewise. (bfd_close_all_done): Likewise. (bfd_release): Comment. * section.c (struct section_hash_entry): New. (bfd_section_hash_newfunc): New function. (section_hash_lookup): Define. (bfd_section_init): New function, split out from bfd_make_section_anyway. (bfd_get_section_by_name): Lookup via hash table. (bfd_get_unique_section_name): Likewise. (bfd_make_section_old_way): Rewrite to use hash table. (bfd_make_section_anyway): Likewise. (bfd_make_section): Likewise. Return NULL for attempts to make BFD_{ABS,COM,UND,IND}_SECTION_NAME. (_bfd_strip_section_from_output): Adjust section_tail if needed. * configure.in: Bump bfd version. * configure: Regenerate. * libbfd.h: Regenerate. * bfd-in2.h: Regenerate. ld/ChangeLog * emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Adjust section_tail when fiddling with section list. (gld${EMULATION_NAME}_list_options): Ensure sentences aren't broken into separate strings to make translation easier. * emultempl/mmo.em (mmo_place_orphan): Adjust section_tail when fiddling with section list. * emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Likewise.
* Define and use bfd_is_const_section().Nick Clifton2001-11-191-0/+6
|
* * section.c (bfd_make_section_anyway): Don't increment section_idAlan Modra2001-11-131-2/+4
| | | | | | and the BFD's section_count if adding the section failed. * vms.c (vms_new_section_hook): Adjust for bfd_make_section_anyway change.
* * section.c (_bfd_strip_section_from_output): Don't countJakub Jelinek2001-10-181-1/+4
| | | | SEC_EXCLUDE sections as references. Set SEC_EXCLUDE.
* * aout-encap.c: Fix comment typos.Kazu Hirata2001-10-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | * aoutx.h: Likewise. * archive.c: Likewise. * bout.c: Likewise. * coff64-rs6000.c: Likewise. * coffcode.h: Likewise. * coffgen.c: Likewise. * cofflink.c: Likewise. * coff-mips.c: Likewise. * ecoff.c: Likewise. * elf32-m32r.c: Likewise. * libcoff-in.h: Likewise. * libecoff.h: Likewise. * libxcoff.h: Likewise. * nlm32-i386.c: Likewise. * pdp11.c: Likewise. * section.c: Likewise. * som.c: Likewise. * som.h: Likewise. * bfd-in2.h: Regenerate. * libcoff.h: Likewise.
* * elf-bfd.h (struct bfd_elf_section_data): Add "group" andAlan Modra2001-10-091-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | "next_in_group". Fix gp and gp_size comments. * elf.c (union elf_internal_group): New. (setup_group): New function. (_bfd_elf_make_section_from_shdr): Set BFD flags for SHT_GROUP. Call setup_group for SHF_GROUP sections. (bfd_section_from_shdr): Build a BFD section for SHT_GROUP. (elf_fake_sections): Set header type for SEC_GROUP, and header flags for sections in a group. (set_group_contents): New function. (_bfd_elf_compute_section_file_positions): Call it. (assign_section_numbers): Set sh_link for SHT_GROUP. * elflink.h (gc_mark_hook): Handle section groups. * elfxx-target.h: Add SEC_GROUP to applicable_flags. * section.c (SEC_GROUP): Define. (struct sec): Comment fixes. * bfd-in2.h: Regenerate. * elf.c (bfd_elf_print_symbol): Formatting fix; migrate expression out of function args. (_bfd_elf_canonicalize_reloc): Similarly. (_bfd_elf_get_symtab): Here too. (_bfd_elf_canonicalize_dynamic_symtab): And here. * elfcode.h (elf_slurp_symbol_table): Don't recalculate size for bfd_bread, and remove unnecessary cast.
* * section.c (struct sec): Remove kept_section.Alan Modra2001-09-291-7/+2
| | | | | | | | | | | | | | | (STD_SECTION): Remove kept_section initialisation. (bfd_make_section_anyway): Here too. * ecoff.c (bfd_debug_section): Remove kept_section initialisation. * cofflink.c (_bfd_coff_link_input_bfd): Don't test kept_section. * elflink.h (elf_link_input_bfd): Set discarded link-once section symbols to zero, and remove all code involved with kept_section and tracking section symbol values. * bfd-in2.h: Regenerate. * configure.in: Bump version number. * configure: Regenerate. * ldlang.c (section_already_linked): Remove assignment to kept_section.
* * section.c (SEC_ARCH_BIT_0): New; replace unused SEC_BALIGN.Richard Henderson2001-09-281-3/+5
| | | | * bfd-in2.h: Rebuild.
* Touches most files in bfd/, so likely will be blamed for everything..Alan Modra2001-09-181-29/+25
| | | | | | | | | | | | | | | | | | | | | | | | o bfd_read and bfd_write lose an unnecessary param and become bfd_bread and bfd_bwrite. o bfd_*alloc now all take a bfd_size_type arg, and will error if size_t is too small. eg. 32 bit host, 64 bit bfd, verrry big files or bugs in linker scripts etc. o file_ptr becomes a bfd_signed_vma. Besides matching sizes with various other types involved in handling sections, this should make it easier for bfd to support a 64 bit off_t on 32 bit hosts that provide it. o I've made the H_GET_* and H_PUT_* macros (which invoke bfd_h_{get,put}_*) generally available. They now cast their args to bfd_vma and bfd_byte * as appropriate, which removes a swag of casts from the source. o Bug fixes to bfd_get8, aix386_core_vec, elf32_h8_relax_section, and aout-encap.c. o Zillions of formatting and -Wconversion fixes.
* * section.c (_bfd_strip_section_from_output): Handle NULLHans-Peter Nilsson2001-06-021-0/+5
| | | | output_section.
* Add a flag to asection, linker_has_input, and use it to reliablyAlan Modra2001-05-171-4/+11
| | | | | determine whether an input section is the first one assigned to an output section.
* * section.c (STD_SECTION): Add entsize.Jakub Jelinek2001-04-141-5/+5
|
* 2001-04-13 H.J. Lu <hjl@gnu.org>H.J. Lu2001-04-141-0/+13
| | | | | | * section.c (SEC_MERGE): Define new flag for merging. (SEC_STRINGS): Likewise. (entsize): New field.
* Update copyright noticesNick Clifton2001-03-081-1/+2
|
* 2000-12-19 Kazu Hirata <kazu@hxi.com>Kazu Hirata2000-12-201-17/+2
| | | | | | | | | | | | | | * sco5-core.c: Fix formatting. * section.c: Likewise. * sparclinux.c: Likewise. * sparclynx.c: Likewise. * sparcnetbsd.c: Likewise. * srec.c: Likewise. * stabs.c: Likewise. * stab-syms.c: Likewise. * sunos.c: Likewise. * syms.c: Likewise. * sysdep.h: Likewise.
* 2000-11-09 Philip Blundell <pb@futuretv.com>Phil Blundell2000-11-131-1/+1
| | | | * section.c (STD_SECTION): Set gc_mark flag.
* * elf64-ia64.c (elf64_ia64_final_link): New local unwind_output_sec.Richard Henderson2000-11-081-0/+5
| | | | | | Set it before bfd_elf64_bfd_final_link call. Use it after the call. * section.c (bfd_set_section_contents): Call memcpy if section->contents set and location not equal to contents plus offset.
* Another try at correcting relocations against discardedAlan Modra2000-10-121-8/+9
| | | | link-once section symbols.
* * section.c (bfd_make_section_anyway): Release newsect ptr whenAlan Modra2000-10-101-2/+5
| | | | newsect->symbol fails to alloc. Use bfd_release instead of free.
* Handle out of memory situations.Alan Modra2000-09-201-0/+2
|
* (bfd_get_unique_section_name): Put a dot before the numeric suffix.Alan Modra2000-09-081-6/+6
|