Age | Commit message (Collapse) | Author | Files | Lines |
|
* elf32-mips.c (_bfd_mips_elf_check_relocs): Report filename
with bad relocation.
|
|
Jason Eckhardt <jle@redhat.com>
* bfd/archures.c: Add mipsisa32 and mipsisa64. Remove mips32,
mips32_4k and mips64.
* bfd/aoutx.h: Remove bfd_mach_mips32, bfd_mach_mips32_4k,
bfd_mach_mips64. Add bfd_mach_mipsisa32, bfd_mach_mipsisa64.
* bfd/cpu-mips.c: Ditto.
* bfd/elf32-mips.c (_bfd_mips_elf_final_write_processing): Ditto.
* bfd/bfd-in2.h: Regenerate.
|
|
* elf32-mips.c (mips_elf_calculate_relocation): Revert the last
2 changes.
(_bfd_mips_elf_adjust_dynamic_symbol): Allocate dynamic
relocations for weak definitions.
|
|
* elf32-mips.c (mips_elf_calculate_relocation): Don't create
dynamic relocation for undefined weak symbols when creating
executables. Check h->root.root.type, instead of h->root.type.
|
|
* elf32-mips.c (mips_elf_create_dynamic_relocation): Add more
sanity check.
(mips_elf_calculate_relocation): Create dynamic relocation for
symbols with weak definition or the ELF_LINK_HASH_DEF_REGULAR
bit is not set.
|
|
* elf32-mips.c (_bfd_mips_elf_hide_symbol): Add prototype.
(_bfd_mips_elf_copy_indirect_symbol): Likewise.
(_bfd_elf32_mips_grok_prstatus): Likewise.
(_bfd_elf32_mips_grok_psinfo): Likewise.
(_bfd_mips_elf_hide_symbol): Make it static and cast to
`struct mips_elf_link_hash_entry *'.
(_bfd_mips_elf_copy_indirect_symbol): Make it static.
|
|
E_MIPS_ABI_O64 and E_MIPS_ABI_EABI64
|
|
* bfd/elf32-mips.c (_bfd_mips_elf_final_write_processing):
Handle bfd_mach_mips4400, bfd_mach_mips4600 and
bfd_mach_mips5000.
|
|
instead of _bfd_elfcore_section_from_phdr.
* elf-bfd.h (_bfd_elfcore_section_from_phdr): Remove.
* elf.c (_bfd_elfcore_section_from_phdr): Remove.
(_bfd_elfcore_make_pseudosection): Expedite tail-call.
(elfcore_grok_prstatus): Likewise.
(elfcore_grok_lwpstatus): Likewise.
(bfd_get_elf_phdr_upper_bound): Likewise.
(elfcore_make_note_pseudosection): Formatting.
(_bfd_elfcore_strndup): Formatting.
* elf32-mips.c (mips_elf_sym_is_global): Formatting.
(_bfd_elf32_mips_grok_prstatus): Expedite tail-call.
|
|
and _bfd_elfcore_strndup.
(struct elf_backend_data): Add elf_backend_grok_prstatus
and elf_backend_grok_psinfo.
* elf.c (_bfd_elfcore_make_pseudosection): New function.
(elfcore_grok_prstatus): Use it.
(elfcore_make_note_pseudosection): Likewise.
(elfcore_strndup): Rename to...
(_bfd_elfcore_strndup): Here, and make global.
(elfcore_grok_psinfo): Use _bfd_elfcore_strndup.
(elfcore_grok_note): Call elf_backend_grok_prstatus
and elf_backend_grok_psinfo if available.
* elf32-mips.c (_bfd_elf32_mips_grok_prstatus): New function.
(_bfd_elf32_mips_grok_psinfo): New function.
(elf_backend_grok_prstatus): Define.
(elf_backend_grok_psinfo): Define.
* elfxx-target.h (elf_backend_grok_prstatus): Default to NULL.
(elf_backend_grok_psinfo): Likewise.
(elfNN_bed): Include elf_backend_grok_prstatus and
elf_backend_grok_psinfo.
|
|
* elf32-mips.c (mips_elf_link_hash_entry): Add a new field,
readonly_reloc, to record if a relocation in the .rel.dyn
section is against a read-only section.
(mips_elf_link_hash_newfunc): Initialize the readonly_reloc
field to false.
(_bfd_mips_elf_check_relocs): Record if there is a relocation
in the .rel.dyn section against a read-only section by setting
DF_TEXTREL or readonly_reloc.
(_bfd_mips_elf_copy_indirect_symbol): Copy readonly_reloc if
it is true.
(_bfd_mips_elf_adjust_dynamic_symbol): Record DF_TEXTREL if
there is a relocation in the .rel.dyn section against a
read-only section.
(_bfd_mips_elf_size_dynamic_sections): Set DT_TEXTREL if
DF_TEXTREL is set.
|
|
(elf_link_read_relocs_from_section): Use "unsigned int" iterator
rather than "unsigned char".
(elf_link_output_relocs): Likewise.
(elf_link_input_bfd): Likewise.
(elf_reloc_link_order): LIkewise.
* elf.c: s/CONST/const/. Whitespace changes.
* elf32-mips.c: Formatting fix.
* Makefile.am (SOURCE_HFILES): Include xcoff-target.h, remove xcoff.h.
* Makefile.in: Regenerate.
* po/Make-in: Remove trailing tab.
|
|
* elf32-mips.c (_bfd_mips_elf_object_p): Set the bad symtab
for SGI only.
* config.bfd: Remove ecoff from Linux/mips.
|
|
|
|
|
|
|
|
* elf.c (_bfd_elf_slurp_version_tables): Change maxidx to unsigned, it
is always a positive integer. Cast away sign mismatch.
* elf32-mips.c: Fix misleading comment and typo.
(_bfd_mips_elf_section_from_bfd_section): Remove unused attribute, use
correct data type.
* elflink.c: Fix typo.
(_bfd_elf_create_dynamic_sections): Remove superfluous initialization.
* ecoffswap.h (ecoff_swap_fdr_in): Cast away sign mismatch.
|
|
* elf.c (_bfd_elf_link_hash_hide_symbol): Set dynindx to -1
only for ELF_LINK_FORCED_LOCAL.
* elf32-hppa.c (elf32_hppa_hide_symbol): Likewise.
* elf32-mips.c (_bfd_mips_elf_hide_symbol): Likewise.
* elfxx-ia64.c (elfNN_ia64_hash_hide_symbol): Likewise.
* elflink.h (elf_fix_symbol_flags): Set ELF_LINK_FORCED_LOCAL
if the symbol has hidden or internal visibility.
|
|
|
|
* config.bfd (mips*el*-*-linux-gnu*): Use traditional little
endian MIPS ELF target.
* config.bfd (mips*-*-linux-gnu*): Use traditional big endian
MIPS ELF target.
* configure.in (bfd_elf64_tradbigmips_vec): New. Traditional
64bit big endian MIPS ELF target.
(bfd_elf64_tradlittlemips_vec): New. Traditional 64bit little
endian MIPS ELF target.
* configure: Regenerated.
* elf32-mips.c (IRIX_COMPAT): Handle traditional 64bit and
little endian targets.
(mips_elf_sym_is_global): Handle traditional targets.
* elf64-mips.c (bfd_elf64_tradbigmips_vec): New. Traditional
64bit big endian MIPS ELF target.
(bfd_elf64_tradlittlemips_vec): New. Traditional 64bit little
endian MIPS ELF target.
* targets.c: (_bfd_target_vector): Add bfd_elf64_tradbigmips_vec
and bfd_elf64_tradlittlemips_vec.
|
|
(_bfd_mips_elf_relocate_section): Give a better error message when
a relocation is not recognized.
|
|
|
|
|
|
|
|
_bfd_dwarf2_find_nearest_line.
|
|
|
|
From Ralf Baechle <ralf@gnu.org>
* elf32-mips.c (elf32_mips_merge_private_bfd_data): Always permit
BFDs containing no sections or empty .text, .data or .bss sections
to be merged, regardless of their flags.
|
|
|
|
|
|
|
|
* elf32-mips.c: Fix formatting.
|
|
From Ralf Baechle <ralf@gnu.org>
* elf32-mips.c (mips_elf_create_dynamic_relocation): New argument
local_p. Add symbol value only for non-R_MIPS_REL32 relocations
against local symbols.
(_bfd_mips_elf_finish_dynamic_sections): Undo patch from 2000-10-01.
|
|
From Ralf Baechle <ralf@gnu.org>
* elf32-mips.c (_bfd_mips_elf_finish_dynamic_sections): Mark gld
produces binaries with got[1] = 0x80000001 to differenciate them
for the dynamic linker from the broken binaries produced by old
versions.
|
|
|
|
* elf32-mips.c (_bfd_mips_elf_check_relocs): Use abfd instead
of dynobj for SGI_COMPAT checks.
|
|
|
|
* elf32-arm.h (elf32_arm_size_dynamic_sections): Also set
DF_TEXTREL if DT_TEXTREL is set.
* elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
* elf32-i386.c (elf_i386_size_dynamic_sections): Likewise.
* elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
* elf32-mips.c (_bfd_mips_elf_size_dynamic_sections): Likewise.
* elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
* elf32-sparc.c (elf32_sparc_size_dynamic_sections): Likewise.
* elf64-alpha.c (elf64_alpha_size_dynamic_sections): Likewise.
* elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
* elf64-ia64.c (elf64_ia64_size_dynamic_sections): Likewise.
* elf64-sparc.c (sparc64_elf_size_dynamic_sections): Likewise.
* bfd/elflink.h (NAME(bfd_elf,size_dynamic_sections)): Also
set DF_SYMBOLIC for symbolic link. Also set DT_RUNPATH if
DT_RPATH is set.
Set the DT_FLAGS and DT_FLAGS_1 entries if necessary.
|
|
* elf32-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Add
paranthesis in if statement.
|
|
Enable the support for Traditional MIPS.
* elf32-mips.c (IRIX_COMPAT): Recognize bfd_elf32_tradbigmips_vecand
return ict_none appropriately for traditional mips targets.
(STUB_LW): Change 0x8f998000 to 0x8f998010 for traditional mips.
(STUB_MOVE): Conditionalize for traditonal mips.
(STUB_LI16): Likewise.
(_bfd_mips_elf_modify_segment_map): Conditionalize to avoid making
room for RTPROC header.
(_bfd_mips_elf_modify_segment_map): For a normal mips executable set
the permission for the PT_DYNAMIC as read, write and execute.
(mips_elf_calculate_relocation): Check for the symbol _DYNAMIC_LINKING
for traditonal mips.
(_bfd_mips_elf_create_dynamic_sections): Add the symbol
_DYNAMIC_LINKING for traditonal mips.
(_bfd_mips_elf_create_dynamic_sections): Add the symbol __RLD_MAP
in case of traditonal mips.
(_bfd_mips_elf_adjust_dynamic_symbol): Create a stub only if a PLT
entry is required. For a function if PLT is not required then set the
corresponding hash table entry to 0.
(_bfd_mips_elf_size_dynamic_sections): Add DT_DEBUG entry for
traditonal mips.
(_bfd_mips_elf_finish_dynamic_symbol): for a undefined symbol in a
shared object set the value to 0.
(_bfd_mips_elf_finish_dynamic_symbol): Check for the symbol
_DYNAMIC_LINKING for traditonal mips.
(_bfd_mips_elf_finish_dynamic_symbol): Check for the symbol __RLD_MAP
for traditonal mips.
|
|
addresses.
|
|
* elf32-mips.c (sort_dynamic_relocs): New Function.
(_bfd_mips_elf_finish_dynamic_sections): Call sort_dynamic_relocs
via qsort to sort the dynamic relocations in increasing r_symndx
value.
|
|
* elf32-mips.c: Include elf32-target.h again for the traditional
MIPS targets.
|
|
* elf32-mips.c (_bfd_mips_elf_copy_indirect_symbol): New function.
(elf_backend_copy_indirect_symbol): Map to the new function.
|
|
* elf-bfd.h (struct elf_obj_tdata): Define per BFD Irix 5 virtual
sections elf_{text,data}_{section,symbol}.
* elf32-mips.c: mips_elf_{text,data}_{section,symbol}{,_ptr}: Remove.
(_bfd_mips_elf_hide_symbol): New function.
(elf_backend_hide_symbol): Map to the new function.
(_bfd_mips_elf_add_symbol_hook): Change to use new per BFD
definitions of mips_elf_{text,data}_{section,symbol}.
(mips_elf_local_relocation_p): Try to find the direct symbol
based on new check_forced argument.
(mips_elf_calculate_relocation): Use new version of
mips_elf_local_relocation_p.
(mips_elf_relocate_section): Likewise.
(_bfd_mips_elf_relocate_section): Likewise.
(mips_elf_sort_hash_table): Only assert that have enough GOT
space.
(mips_elf_got16_entry): Match all 32 bits to the existing GOT
entry if the relocation based on the new external argument.
(mips_elf_create_dynamic_relocation): Assert that we have a
section contents allocated where we can swap out the dynamic
relocations.
(mips_elf_calculate_relocation): Find the real hash-table entry
correctly by using h->root.root.type. Only create a dynamic
relocation entry if the symbol is defined in a shared library.
Create an external GOT entry for the GOT16 relocation if the
symbol was forced local.
(_bfd_mips_elf_finish_dynamic_symbol): Don't assert there is a
dynamic index if the symbol was forced local.
2000-06-20 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
* elf32-mips.c: Fix typos in comments.
|
|
* elf32-mips.c (mips_elf_calculate_relocation): Explicitly write
GOT entries if we're doing a static link or -Bsymbolic link.
|
|
* elf32-mips.c (mips_elf_calculate_relocation): Check
h->root.other not h->other.
* elf32-ppc.c (ppc_elf_relocate_section): Fix a typo.
|
|
* elf32-i386.c (elf_i386_relocate_section): Don't allow the
undefined symbol with the non-default visibility attributes.
* elf-hppa.h (elf_hppa_relocate_section): Likewise.
* elf32-arm.h (elf32_arm_relocate_section): Likewise.
* elf32-i370.c (i370_elf_relocate_section): Likewise.
* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
* elf32-mips.c (mips_elf_calculate_relocation): Likewise.
* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
* elf64-ia64.c (elf64_ia64_relocate_section): Likewise.
* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
|
|
is known.
|
|
Fix a couple of 64 bit nits.
|
|
|