Line 1... |
Line 1... |
/* MIPS ELF specific backend routines.
|
/* MIPS ELF specific backend routines.
|
Copyright 2002, 2003, 2004, 2005, 2006, 2007
|
Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
|
Free Software Foundation, Inc.
|
Free Software Foundation, Inc.
|
|
|
This file is part of BFD, the Binary File Descriptor library.
|
This file is part of BFD, the Binary File Descriptor library.
|
|
|
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
Line 39... |
Line 39... |
extern bfd_boolean _bfd_mips_elf_section_from_bfd_section
|
extern bfd_boolean _bfd_mips_elf_section_from_bfd_section
|
(bfd *, asection *, int *);
|
(bfd *, asection *, int *);
|
extern bfd_boolean _bfd_mips_elf_add_symbol_hook
|
extern bfd_boolean _bfd_mips_elf_add_symbol_hook
|
(bfd *, struct bfd_link_info *, Elf_Internal_Sym *,
|
(bfd *, struct bfd_link_info *, Elf_Internal_Sym *,
|
const char **, flagword *, asection **, bfd_vma *);
|
const char **, flagword *, asection **, bfd_vma *);
|
extern bfd_boolean _bfd_mips_elf_link_output_symbol_hook
|
extern int _bfd_mips_elf_link_output_symbol_hook
|
(struct bfd_link_info *, const char *, Elf_Internal_Sym *,
|
(struct bfd_link_info *, const char *, Elf_Internal_Sym *,
|
asection *, struct elf_link_hash_entry *);
|
asection *, struct elf_link_hash_entry *);
|
extern bfd_boolean _bfd_mips_elf_create_dynamic_sections
|
extern bfd_boolean _bfd_mips_elf_create_dynamic_sections
|
(bfd *, struct bfd_link_info *);
|
(bfd *, struct bfd_link_info *);
|
extern bfd_boolean _bfd_mips_elf_check_relocs
|
extern bfd_boolean _bfd_mips_elf_check_relocs
|
(bfd *, struct bfd_link_info *, asection *, const Elf_Internal_Rela *);
|
(bfd *, struct bfd_link_info *, asection *, const Elf_Internal_Rela *);
|
extern bfd_boolean _bfd_mips_elf_adjust_dynamic_symbol
|
extern bfd_boolean _bfd_mips_elf_adjust_dynamic_symbol
|
(struct bfd_link_info *, struct elf_link_hash_entry *);
|
(struct bfd_link_info *, struct elf_link_hash_entry *);
|
extern bfd_boolean _bfd_mips_vxworks_adjust_dynamic_symbol
|
|
(struct bfd_link_info *, struct elf_link_hash_entry *);
|
|
extern bfd_boolean _bfd_mips_elf_always_size_sections
|
extern bfd_boolean _bfd_mips_elf_always_size_sections
|
(bfd *, struct bfd_link_info *);
|
(bfd *, struct bfd_link_info *);
|
extern bfd_boolean _bfd_mips_elf_size_dynamic_sections
|
extern bfd_boolean _bfd_mips_elf_size_dynamic_sections
|
(bfd *, struct bfd_link_info *);
|
(bfd *, struct bfd_link_info *);
|
extern bfd_boolean _bfd_mips_elf_relocate_section
|
extern bfd_boolean _bfd_mips_elf_relocate_section
|
Line 79... |
Line 77... |
extern bfd_boolean _bfd_mips_elf_gc_sweep_hook
|
extern bfd_boolean _bfd_mips_elf_gc_sweep_hook
|
(bfd *, struct bfd_link_info *, asection *, const Elf_Internal_Rela *);
|
(bfd *, struct bfd_link_info *, asection *, const Elf_Internal_Rela *);
|
extern void _bfd_mips_elf_copy_indirect_symbol
|
extern void _bfd_mips_elf_copy_indirect_symbol
|
(struct bfd_link_info *, struct elf_link_hash_entry *,
|
(struct bfd_link_info *, struct elf_link_hash_entry *,
|
struct elf_link_hash_entry *);
|
struct elf_link_hash_entry *);
|
extern void _bfd_mips_elf_hide_symbol
|
|
(struct bfd_link_info *, struct elf_link_hash_entry *, bfd_boolean);
|
|
extern bfd_boolean _bfd_mips_elf_ignore_discarded_relocs
|
extern bfd_boolean _bfd_mips_elf_ignore_discarded_relocs
|
(asection *);
|
(asection *);
|
extern bfd_boolean _bfd_mips_elf_find_nearest_line
|
extern bfd_boolean _bfd_mips_elf_find_nearest_line
|
(bfd *, asection *, asymbol **, bfd_vma, const char **,
|
(bfd *, asection *, asymbol **, bfd_vma, const char **,
|
const char **, unsigned int *);
|
const char **, unsigned int *);
|
Line 93... |
Line 89... |
extern bfd_boolean _bfd_mips_elf_set_section_contents
|
extern bfd_boolean _bfd_mips_elf_set_section_contents
|
(bfd *, asection *, const void *, file_ptr, bfd_size_type);
|
(bfd *, asection *, const void *, file_ptr, bfd_size_type);
|
extern bfd_byte *_bfd_elf_mips_get_relocated_section_contents
|
extern bfd_byte *_bfd_elf_mips_get_relocated_section_contents
|
(bfd *, struct bfd_link_info *, struct bfd_link_order *,
|
(bfd *, struct bfd_link_info *, struct bfd_link_order *,
|
bfd_byte *, bfd_boolean, asymbol **);
|
bfd_byte *, bfd_boolean, asymbol **);
|
|
extern bfd_boolean _bfd_mips_elf_mkobject
|
|
(bfd *);
|
extern struct bfd_link_hash_table *_bfd_mips_elf_link_hash_table_create
|
extern struct bfd_link_hash_table *_bfd_mips_elf_link_hash_table_create
|
(bfd *);
|
(bfd *);
|
extern struct bfd_link_hash_table *_bfd_mips_vxworks_link_hash_table_create
|
extern struct bfd_link_hash_table *_bfd_mips_vxworks_link_hash_table_create
|
(bfd *);
|
(bfd *);
|
extern bfd_boolean _bfd_mips_elf_final_link
|
extern bfd_boolean _bfd_mips_elf_final_link
|
Line 136... |
Line 134... |
(bfd *, asection *, struct bfd_link_info *, bfd_boolean *);
|
(bfd *, asection *, struct bfd_link_info *, bfd_boolean *);
|
extern bfd_vma _bfd_mips_elf_sign_extend
|
extern bfd_vma _bfd_mips_elf_sign_extend
|
(bfd_vma, int);
|
(bfd_vma, int);
|
extern void _bfd_mips_elf_merge_symbol_attribute
|
extern void _bfd_mips_elf_merge_symbol_attribute
|
(struct elf_link_hash_entry *, const Elf_Internal_Sym *, bfd_boolean, bfd_boolean);
|
(struct elf_link_hash_entry *, const Elf_Internal_Sym *, bfd_boolean, bfd_boolean);
|
|
extern char *_bfd_mips_elf_get_target_dtag (bfd_vma);
|
extern bfd_boolean _bfd_mips_elf_ignore_undef_symbol
|
extern bfd_boolean _bfd_mips_elf_ignore_undef_symbol
|
(struct elf_link_hash_entry *);
|
(struct elf_link_hash_entry *);
|
|
extern void _bfd_mips_elf_use_plts_and_copy_relocs
|
|
(struct bfd_link_info *);
|
|
extern bfd_boolean _bfd_mips_elf_init_stubs
|
|
(struct bfd_link_info *,
|
|
asection *(*) (const char *, asection *, asection *));
|
|
extern bfd_vma _bfd_mips_elf_plt_sym_val
|
|
(bfd_vma, const asection *, const arelent *rel);
|
|
extern void _bfd_mips_post_process_headers
|
|
(bfd *abfd, struct bfd_link_info *link_info);
|
|
|
extern const struct bfd_elf_special_section _bfd_mips_elf_special_sections [];
|
extern const struct bfd_elf_special_section _bfd_mips_elf_special_sections [];
|
|
|
extern bfd_boolean _bfd_mips_elf_common_definition (Elf_Internal_Sym *);
|
extern bfd_boolean _bfd_mips_elf_common_definition (Elf_Internal_Sym *);
|
|
|
Line 150... |
Line 158... |
_bfd_mips_elf_name_local_section_symbols
|
_bfd_mips_elf_name_local_section_symbols
|
#define elf_backend_special_sections _bfd_mips_elf_special_sections
|
#define elf_backend_special_sections _bfd_mips_elf_special_sections
|
#define elf_backend_eh_frame_address_size _bfd_mips_elf_eh_frame_address_size
|
#define elf_backend_eh_frame_address_size _bfd_mips_elf_eh_frame_address_size
|
#define elf_backend_merge_symbol_attribute _bfd_mips_elf_merge_symbol_attribute
|
#define elf_backend_merge_symbol_attribute _bfd_mips_elf_merge_symbol_attribute
|
#define elf_backend_ignore_undef_symbol _bfd_mips_elf_ignore_undef_symbol
|
#define elf_backend_ignore_undef_symbol _bfd_mips_elf_ignore_undef_symbol
|
|
#define elf_backend_post_process_headers _bfd_mips_post_process_headers
|
|
|
No newline at end of file
|
No newline at end of file
|