* elf32-sparc.c (elf32_sparc_omit_section_dynsym): New function.
(elf_backend_omit_section_dynsym): Define to it. * elf64-sparc.c (sparc64_elf_omit_section_dynsym): New function. (elf_backend_omit_section_dynsym): Define to it.
This commit is contained in:
parent
4743eb5009
commit
151e5294b9
|
@ -1,3 +1,10 @@
|
|||
2005-01-09 Eric Botcazou <ebotcazou@libertysurf.fr>
|
||||
|
||||
* elf32-sparc.c (elf32_sparc_omit_section_dynsym): New function.
|
||||
(elf_backend_omit_section_dynsym): Define to it.
|
||||
* elf64-sparc.c (sparc64_elf_omit_section_dynsym): New function.
|
||||
(elf_backend_omit_section_dynsym): Define to it.
|
||||
|
||||
2005-01-07 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* bfd/elf.c (INCLUDE_SECTION_IN_SEGMENT): Don't put empty sections into
|
||||
|
|
|
@ -39,6 +39,8 @@ static bfd_boolean allocate_dynrelocs
|
|||
PARAMS ((struct elf_link_hash_entry *, PTR));
|
||||
static bfd_boolean readonly_dynrelocs
|
||||
PARAMS ((struct elf_link_hash_entry *, PTR));
|
||||
static bfd_boolean elf32_sparc_omit_section_dynsym
|
||||
PARAMS ((bfd *, struct bfd_link_info *, asection *));
|
||||
static bfd_boolean elf32_sparc_size_dynamic_sections
|
||||
PARAMS ((bfd *, struct bfd_link_info *));
|
||||
static bfd_boolean elf32_sparc_new_section_hook
|
||||
|
@ -1814,6 +1816,23 @@ readonly_dynrelocs (h, inf)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
/* Return true if the dynamic symbol for a given section should be
|
||||
omitted when creating a shared library. */
|
||||
|
||||
static bfd_boolean
|
||||
elf32_sparc_omit_section_dynsym (bfd *output_bfd,
|
||||
struct bfd_link_info *info,
|
||||
asection *p)
|
||||
{
|
||||
/* We keep the .got section symbol so that explicit relocations
|
||||
against the _GLOBAL_OFFSET_TABLE_ symbol emitted in PIC mode
|
||||
can be turned into relocations against the .got symbol. */
|
||||
if (strcmp (p->name, ".got") == 0)
|
||||
return FALSE;
|
||||
|
||||
return _bfd_elf_link_omit_section_dynsym (output_bfd, info, p);
|
||||
}
|
||||
|
||||
/* Set the sizes of the dynamic sections. */
|
||||
|
||||
static bfd_boolean
|
||||
|
@ -3448,6 +3467,7 @@ elf32_sparc_plt_sym_val (bfd_vma i ATTRIBUTE_UNUSED,
|
|||
#define elf_backend_check_relocs elf32_sparc_check_relocs
|
||||
#define elf_backend_adjust_dynamic_symbol \
|
||||
elf32_sparc_adjust_dynamic_symbol
|
||||
#define elf_backend_omit_section_dynsym elf32_sparc_omit_section_dynsym
|
||||
#define elf_backend_size_dynamic_sections \
|
||||
elf32_sparc_size_dynamic_sections
|
||||
#define elf_backend_relocate_section elf32_sparc_relocate_section
|
||||
|
|
|
@ -56,6 +56,8 @@ static bfd_boolean sparc64_elf_check_relocs
|
|||
const Elf_Internal_Rela *));
|
||||
static bfd_boolean sparc64_elf_adjust_dynamic_symbol
|
||||
PARAMS ((struct bfd_link_info *, struct elf_link_hash_entry *));
|
||||
static bfd_boolean sparc64_elf_omit_section_dynsym
|
||||
PARAMS ((bfd *, struct bfd_link_info *, asection *));
|
||||
static bfd_boolean sparc64_elf_size_dynamic_sections
|
||||
PARAMS ((bfd *, struct bfd_link_info *));
|
||||
static int sparc64_elf_get_symbol_type
|
||||
|
@ -1760,6 +1762,23 @@ sparc64_elf_adjust_dynamic_symbol (info, h)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
/* Return true if the dynamic symbol for a given section should be
|
||||
omitted when creating a shared library. */
|
||||
|
||||
static bfd_boolean
|
||||
sparc64_elf_omit_section_dynsym (bfd *output_bfd,
|
||||
struct bfd_link_info *info,
|
||||
asection *p)
|
||||
{
|
||||
/* We keep the .got section symbol so that explicit relocations
|
||||
against the _GLOBAL_OFFSET_TABLE_ symbol emitted in PIC mode
|
||||
can be turned into relocations against the .got symbol. */
|
||||
if (strcmp (p->name, ".got") == 0)
|
||||
return FALSE;
|
||||
|
||||
return _bfd_elf_link_omit_section_dynsym (output_bfd, info, p);
|
||||
}
|
||||
|
||||
/* Set the sizes of the dynamic sections. */
|
||||
|
||||
static bfd_boolean
|
||||
|
@ -3198,6 +3217,8 @@ const struct elf_size_info sparc64_elf_size_info =
|
|||
sparc64_elf_check_relocs
|
||||
#define elf_backend_adjust_dynamic_symbol \
|
||||
sparc64_elf_adjust_dynamic_symbol
|
||||
#define elf_backend_omit_section_dynsym \
|
||||
sparc64_elf_omit_section_dynsym
|
||||
#define elf_backend_size_dynamic_sections \
|
||||
sparc64_elf_size_dynamic_sections
|
||||
#define elf_backend_relocate_section \
|
||||
|
|
Loading…
Reference in New Issue