Ian Lance Taylor [Sun, 11 Jul 1999 19:49:48 +0000 (19:49 +0000)]
* Many files: Changes to avoid gcc warnings: Add ATTRIBUTE_UNUSED
as appropriate. Fill in structure initializations. Add variable
initializations. Add casts.
* dwarf1.c (parse_line_table): Change eachLine to unsigned long.
(dwarf1_unit_find_nearest_line): Change i to unsigned long.
Mark Mitchell [Sun, 11 Jul 1999 09:28:45 +0000 (09:28 +0000)]
* libbfd.c (bfd_put_8): Make it of type `void'.
* bfd-in2.h: Regenerated.
* elf32-mips.c (MIPS_ELF_ADD_DYNAMIC_ENTRY): Conditionalize
for 32-bit hosts.
(_bfd_mips_elf_final_link): Likewise.
* config/tc-ppc.h (tc_fix_adjustable) [OBJ_ELF]: Call S_IS_LOCAL
rather than checking for \001 and \002 in symbol name.
* config/tc-sparc.h (tc_fix_adjustable) [OBJ_ELF]: Likewise.
Jakub Jelinek <jj@ultra.linux.cz>
* ldfile.c (ldfile_open_file_search): Skip libraries made for
incompatible architectures in the search path. Let the user know
about any such skips.
Jakub Jelinek <jj@ultra.linux.cz>
* readelf.c (guess_is_rela): Sparcv9 and v8plus use rela.
(dump_relocations): Use ELF64_R_TYPE_ID for Sparc, for R_SPARC_OLO10
print the secondary addend.
(get_machine_flags): Print Sparc machine flags.
(get_symbol_type): Print STT_REGISTER.
* stabs.c (parse_stab_type): Fix handling of template names with
template parameters containing `::'.
(stab_demangle_type): Handle a qualified name in a pointer to
member.
* elflink.h (elf_bfd_final_link): Assert that section reloc_count
field equals the new rel_count field.
(elf_link_input_bfd): When doing a relocateable link, use the new
rel_count field rather than the reloc_count field.
(elf_reloc_link_order): Likewise.
(elf_finish_pointer_linker_section): Likewise.
Based on patch from H.J. Lu <hjl@gnu.org>:
* elflink.h (elf_merge_symbol): Permit a non-weak definition in a
shared library to override a weak definition in a regular object.
Mark Mitchell [Thu, 1 Jul 1999 23:20:08 +0000 (23:20 +0000)]
* elf-bfd.h (bfd_elf_section_data): Add rel_count and rel_count2
fields.
(_bfd_elf_init_reloc_shdr): New function.
* elf.c (_bfd_elf_new_section_hook): Use bfd_zalloc, rather than
bfd_alloc followed by memset.
(_bfd_elf_init_reloc_shdr): New function, split out from ...
(elf_fake_sections): Here.
(assign_section_numbers): Assign section numbers for the second
relocation section, if required.
* elflink.h (elf_link_output_relocs): New function.
(elf_link_size_reloc_section): Likewise.
(elf_bfd_final_link): Use elf_link_size_reloc_section.
(elf_link_input_bfd): Use elf_link_output_relocs.
* elf32-mips.c (_bfd_mips_elf_fake_sections): Use
_bfd_elf_init_reloc_shdr to initialize rel_hdr2.
Ian Lance Taylor [Wed, 30 Jun 1999 22:38:30 +0000 (22:38 +0000)]
* Many files: Add casts in many print statements to cast bfd_vma
values to unsigned long when calling printf.
* Makefile.am ($(OBJECTS)): Add gmon.h.
* Makefile.in: Rebuild.
Mark Mitchell [Wed, 30 Jun 1999 20:13:43 +0000 (20:13 +0000)]
* elf32-mips.c (mips_elf_got_info): Move declaration before
prototypes. Change global_gotsym to be a pointer to a hash entry,
rather than a number index.
(mips_elf_link_hash_entry): Move declaration before prototypes.
(mips_elf_irix6_finish_dynamic_symbol): New function.
(mips_elf_sign_extend): Likewise.
(mips_elf_high): Likewise.
(mips_elf_higher): Likewise.
(mips_elf_highest): Likewise.
(mips_elf_global_got_index): Likewise.
(mips_elf_local_got_index): Likewise.
(mips_elf_got_offset_from_index): Likeiwse.
(mips_elf_record_global_got_symbol): Likewise.
(mips_elf_got_page): Likewise.
(mips_elf_next_lo16_addend): Likewise.
(mips_elf_calculate_relocation): Likewise.
(mips_elf_obtain_contents): Likewise.
(mips_elf_perform_relocation): Likewise.
(mips_elf_assign_gp): Likewise.
(mips_elf_sort_hash_table_f): Likewise.
(mips_elf_sort_hash_table): Likewise.
(mips_elf_got_section): Likewise.
(mips_elf_got_info): Likewise.
(mips_elf_create_local_got_entry): Likewise.
(mips_elf_got16_entry): Likewise.
(mips_elf_create_dynamic_relocation): Likewise.
(elf_mips_howto_table): Add description of R_MIPS_SCN_DISP.
(mips_elf_final_gp): Use mips_elf_assign_gp.
(_bfd_mips_elf_symbol_processing): Don't move SHN_COMMON symbols
into SHN_SCOMMON automatically on IRIX6.
(mips_elf_add_symbol_hook): Likewise.
(mips_elf_relocate_section): Rewrite, using
mips_elf_calculate_relocation and mips_elf_perform_relocation.
(mips_elf_create_dynamic_section): Use MIPS_ELF_STUB_SECTION_NAME.
Don't deal with .rld_map on IRIX6.
(mips_elf_create_got_section): Adjust use of global_gotsym. Set
section flags appropriately for .got.
(mips_elf_check_relocs): Handle IRIX6 relocations making use of
the got. Call mips_elf_record_global_got_symbol and allocate
local got space appropriately.
(mips_elf_size_dynamic_sections): Use bfd_byte *, not unsigned
char *. Rework calculation of GOT size. Sort dynamic symbol
table entries so entries that do not require GOT entries appear at
the beginning. Don't use DT_MIPS_HIPAGENO on IRIX6. Remove dead
code dealing with DT_INIT and DT_FINI. Remove fiddling with
global_gotsym.
(mips_elf_finish_dynamic_symbol): Adjust creation of global GOT
entries.
(mips_elf_finish_dynamic_symbol): Use
mips_elf_irix6_finish_dynamic_symbol.
(mips_elf_finish_dynamic_sections): Correct off-by-one error
setting DT_MIPS_UNREFEXTNO. Adjust setting of DT_MIPS_GOTSYM for
change to global_gotsym. Set DT_MIPS_OPTIONS on IRIX6.
Nick Clifton [Tue, 29 Jun 1999 02:45:00 +0000 (02:45 +0000)]
Patch from: Jim Pick <jim@jimpick.com>
Added code so that .xs linker scripts are called so that ARM shared libraries
are built correctly.
CVS: ----------------------------------------------------------------------
Jeff Law [Tue, 29 Jun 1999 01:28:25 +0000 (01:28 +0000)]
è
* elf-hppa.c (elf_hppa_howto_table): Use bfd_elf_generic_reloc as
relocation function.
* elf32-hppa.c (hppa_elf_reloc): Kill unused/unwanted function.
Mark Mitchell [Sun, 27 Jun 1999 21:23:34 +0000 (21:23 +0000)]
* elf32-mips.c (MIPS_ELF_SRDATA_SECTION_NAME): New macro.
(MIPS_ELF_OPTIONS_SECTION_NAME): Likewise.
(MIPS_ELF_STUB_SECTION_NAME): Likewise.
(_bfd_mips_elf_section_from_shdr): Use them.
(_bfd_mips_elf_fake_sections): Likewise. Add .srdata to the list
of GP-relative sections.
(_bfd_mips_elf_set_section_contents): Use them.
(_bfd_mips_elf_section_processing): Share code between .sdata and
.lit4/.lit8 sections. Set appropriate flags for .srdata.
(mips_elf_additional_program_headers): Add handling for
PT_MIPS_OPTIONS segment on IRIX6.
(mips_elf_modify_segment_map): Likeiwse.
(mips_elf_final_link): Set EF_MIPS_CPIC when required by the ABI.
Include the options sections on IRIX6. Don't look for GP-relative
sections by name; use SHF_MIPS_GPREL instead.
(ELF_DYNAMIC_INTERPRETER): Adjust to use /usr/lib32/libc.so.1 for
the N32 ABI.
(mips_elf_create_dynamic_sections): Don't muck about with section
alignments and such on IRIX6.
(mips_elf_adjust_dynamic_symbol): Use MIPS_ELF_STUB_SECTION_NAME.
(mips_elf_size_dynamic_sections): Likewise. Adjust to handle the
fact that ELF_DYNAMIC_INTERPRETER is no longer a constant. Use
bfd_zalloc rather than bfd_alloc and memset.
(mips_elf_finish_dynamic_symbol): Use MIPS_ELF_STUB_SECTION_NAME.
Don't assert the existence of .rld_map on IRIX6.
(mips_elf_finish_dynamic_sections): Use MIPS_ELF_STUB_SECTION_NAME.
Mark Mitchell [Sun, 27 Jun 1999 11:05:15 +0000 (11:05 +0000)]
* elf32-mips.c (mips_elf_swap_msym_in): New function.
(mips_elf_swap_msym_out): New function.
(mips_elf_create_msym_section): Likewise.
(MIPS_ELF_MSYM_SECTION_NAME): New macro.
(_bfd_mips_elf_final_write_processing): Set sh_link for .msym.
(_bfd_mips_elf_section_from_shdr): Reject an SHT_MIPS_MSYM
section not named .msym.
(_bfd_mips_elf_fake_sections): Use MIPS_ELF_MSYM_SECTION_NAME, not
.msym directly. Set appropriate attributes for the .msym
section.
(mips_elf_link_hash_entry): Add min_dyn_reloc_index field.
(mips_elf_link_hash_newfunc): Clear it.
(mips_elf_create_dynamic_sections): Create the .msym section
on IRIX6.
(mips_elf_size_dynamic_sections): Allocate space for the
.msym section. Add a DT_MIPS_MSYM entry.
(mips_elf_finish_dynamic_symbol): Write out a .msym entry for
the symbol.
(mips_elf_finish_dynamic_sections): Assign a value for
DT_MIPS_MSYM. Add .msym entries for the section symbols as well.
Mark Mitchell [Sat, 26 Jun 1999 21:17:49 +0000 (21:17 +0000)]
* elf32-mips.c (irix_compat_t): New enumeration.
(ABI_N32_P): New macro.
(IRIX_COMPAT): Likewise.
(SGI_COMPAT): Implement in terms of IRIX_COMPAT.
(mips_elf_relocate_section): Fix typo.
David Mosberger <davidm@hpl.hp.com>
* dwarf2dbg.c (dwarf2_gen_line_info): Don't call
out_end_sequence() when the address decreases due to a new frag.
(gen_dir_list): Set ls.file[i].dir to j + 1 (not j) because file
numbering starts with 1.
David Mosberger <davidm@hpl.hp.com>
* dwarf2.c (struct arange): New type.
(struct comp_unit): Replace LOW and HIGH by member ARANGE.
(arange_add): New function.
(decode_line_info): Keep track of address ranges that a compilation
unit covers.
(comp_unit_contains_address): Return true if address is contained
in _any_ of the address ranges associated with a compilation unit.
(_bfd_dwarf2_find_nearest_line): Call comp_unit_find_nearest_line
on the first comp_unit that contains the address.
David Mosberger <davidm@hpl.hp.com>
* dwarf2.c (struct dwarf2_debug): Add member dwarf_line_buffer.
(decode_line_info): Add variable STASH and initialize it to point
to the per-bfd dwarf2_debug info. Remove static variable
dwarf_line_buffer and use stash->dwarf_line_buffer in its place.
Jeff Law [Thu, 24 Jun 1999 20:01:44 +0000 (20:01 +0000)]
ð
* elf-hppa.c (elf_hppa_final_write_processing): New function.
* elf32-hppa.c: Remove everything related to symbol extension
sections & records. Use the common elf_hppa_final_write_processing.
Jeff Law [Thu, 24 Jun 1999 20:01:42 +0000 (20:01 +0000)]
d
* elf-hppa.c (elf_hppa_final_write_processing): New function.
* elf32-hppa.c: Remove everything related to symbol extension
sections & records. Use the common elf_hppa_final_write_processing.