diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2005-05-05 14:34:04 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2005-05-05 14:34:04 +0000 |
commit | 3496cb2af49b7fdc1ea5a085b87e1a6c0b26aea4 (patch) | |
tree | 49c12477c14e4a8b97684223e93e1a4521b199ec /bfd/elf64-ppc.c | |
parent | 59fef9e758221469b7aeb82dacca01282c04baf9 (diff) | |
download | gdb-3496cb2af49b7fdc1ea5a085b87e1a6c0b26aea4.zip gdb-3496cb2af49b7fdc1ea5a085b87e1a6c0b26aea4.tar.gz gdb-3496cb2af49b7fdc1ea5a085b87e1a6c0b26aea4.tar.bz2 |
2005-05-05 H.J. Lu <hongjiu.lu@intel.com>
* section.c (bfd_make_section_anyway_with_flags): New.
(bfd_make_section_anyway): Call bfd_make_section_anyway_with_flags,
(bfd_make_section_with_flags): New.
(bfd_make_section): Call bfd_make_section_with_flags.
* elf-m10300.c (_bfd_mn10300_elf_create_got_section): Call
bfd_make_section_with_flags/bfd_make_section_anyway_with_flags
instead of bfd_make_section/bfd_make_section and don't call
bfd_set_section_flags.
(mn10300_elf_check_relocs): Likewise.
(_bfd_mn10300_elf_create_dynamic_sections): Likewise.
* elf32-arm.c (create_got_section): Likewise.
(bfd_elf32_arm_add_glue_sections_to_bfd): Likewise.
(elf32_arm_check_relocs): Likewise.
* elf32-cris.c (cris_elf_check_relocs): Likewise.
* elf32-frv.c (elf32_frv_add_symbol_hook): Likewise.
(_frv_create_got_section): Likewise.
(elf32_frvfdpic_create_dynamic_sections): Likewise.
* elf32-hppa.c (elf32_hppa_create_dynamic_sections): Likewise.
(elf32_hppa_check_relocs): Likewise.
* elf32-i370.c (i370_elf_create_dynamic_sections): Likewise.
(i370_elf_check_relocs): Likewise.
* elf32-i386.c (create_got_section): Likewise.
(elf_i386_check_relocs): Likewise.
* elf32-m32r.c (m32r_elf_add_symbol_hook): Likewise.
(create_got_section): Likewise.
(m32r_elf_create_dynamic_sections): Likewise.
(m32r_elf_check_relocs): Likewise.
* elf32-m68k.c (elf_m68k_check_relocs): Likewise.
* elf32-ppc.c (ppc_elf_create_got): Likewise.
(ppc_elf_create_dynamic_sections): Likewise.
(ppc_elf_add_symbol_hook): Likewise.
(ppc_elf_check_relocs): Likewise.
* elf32-s390.c (create_got_section): Likewise.
(elf_s390_check_relocs): Likewise.
* elf32-sh.c (create_got_section): Likewise.
(sh_elf_create_dynamic_sections): Likewise.
(sh_elf_check_relocs): Likewise.
* elf32-vax.c (elf_vax_check_relocs): Likewise.
* elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
* elf32-xtensa.c (elf_xtensa_create_dynamic_sections): Likewise.
(add_extra_plt_sections): Likewise.
* elf64-alpha.c (elf64_alpha_add_symbol_hook): Likewise.
(elf64_alpha_create_got_section): Likewise.
(elf64_alpha_create_dynamic_sections): Likewise.
(elf64_alpha_check_relocs): Likewise.
* elf64-hppa.c (get_reloc_section): Likewise.
(get_opd): Likewise.
(get_plt): Likewise.
(get_dlt): Likewise.
(get_stub): Likewise.
(elf64_hppa_create_dynamic_sectionso): Likewise.
* elf64-mmix.c (mmix_elf_check_common_relocs): Likewise.
* elf64-ppc.c (create_linkage_sections): Likewise.
(ppc64_elf_check_relocs): Likewise.
* elf64-s390.c (create_got_section): Likewise.
(elf_s390_check_relocs): Likewise.
* elf64-sh64.c (sh_elf64_check_relocs): Likewise.
(sh64_elf64_create_dynamic_sections): Likewise.
* elf64-x86-64.c (create_got_section): Likewise.
(elf64_x86_64_check_relocs): Likewise.
* elflink.c (_bfd_elf_create_got_section): Likewise.
(_bfd_elf_link_create_dynamic_sections): Likewise.
(elf_link_add_object_symbols): Likewise.
* elfxx-ia64.c (elfNN_ia64_add_symbol_hook): Likewise.
(elfNN_ia64_create_dynamic_sections): Likewise.
(get_fptr): Likewise.
(get_pltoff): Likewise.
(get_reloc_section): Likewise.
(elfNN_ia64_object_p): Likewise.
* elfxx-mips.c (mips_elf_rel_dyn_section): Likewise.
(mips_elf_create_compact_rel_section): Likewise.
(mips_elf_create_got_section): Likewise.
(_bfd_mips_elf_create_dynamic_sections): Likewise.
* elfxx-sparc.c (create_got_section): Likewise.
(_bfd_sparc_elf_check_relocs): Likewise.
* elf.c (_bfd_elf_new_section_hook): Call _bfd_elf_get_sec_type_attr
on linker created sections.
Diffstat (limited to 'bfd/elf64-ppc.c')
-rw-r--r-- | bfd/elf64-ppc.c | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c index 4bb0d3b..0eaa754 100644 --- a/bfd/elf64-ppc.c +++ b/bfd/elf64-ppc.c @@ -3667,25 +3667,25 @@ create_linkage_sections (bfd *dynobj, struct bfd_link_info *info) /* Create .sfpr for code to save and restore fp regs. */ flags = (SEC_ALLOC | SEC_LOAD | SEC_CODE | SEC_READONLY | SEC_HAS_CONTENTS | SEC_IN_MEMORY | SEC_LINKER_CREATED); - htab->sfpr = bfd_make_section_anyway (dynobj, ".sfpr"); + htab->sfpr = bfd_make_section_anyway_with_flags (dynobj, ".sfpr", + flags); if (htab->sfpr == NULL - || ! bfd_set_section_flags (dynobj, htab->sfpr, flags) || ! bfd_set_section_alignment (dynobj, htab->sfpr, 2)) return FALSE; /* Create .glink for lazy dynamic linking support. */ - htab->glink = bfd_make_section_anyway (dynobj, ".glink"); + htab->glink = bfd_make_section_anyway_with_flags (dynobj, ".glink", + flags); if (htab->glink == NULL - || ! bfd_set_section_flags (dynobj, htab->glink, flags) || ! bfd_set_section_alignment (dynobj, htab->glink, 2)) return FALSE; /* Create .branch_lt for plt_branch stubs. */ flags = (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS | SEC_IN_MEMORY | SEC_LINKER_CREATED); - htab->brlt = bfd_make_section_anyway (dynobj, ".branch_lt"); + htab->brlt = bfd_make_section_anyway_with_flags (dynobj, ".branch_lt", + flags); if (htab->brlt == NULL - || ! bfd_set_section_flags (dynobj, htab->brlt, flags) || ! bfd_set_section_alignment (dynobj, htab->brlt, 3)) return FALSE; @@ -3693,9 +3693,10 @@ create_linkage_sections (bfd *dynobj, struct bfd_link_info *info) { flags = (SEC_ALLOC | SEC_LOAD | SEC_READONLY | SEC_HAS_CONTENTS | SEC_IN_MEMORY | SEC_LINKER_CREATED); - htab->relbrlt = bfd_make_section_anyway (dynobj, ".rela.branch_lt"); + htab->relbrlt = bfd_make_section_anyway_with_flags (dynobj, + ".rela.branch_lt", + flags); if (!htab->relbrlt - || ! bfd_set_section_flags (dynobj, htab->relbrlt, flags) || ! bfd_set_section_alignment (dynobj, htab->relbrlt, 3)) return FALSE; } @@ -3725,15 +3726,14 @@ create_got_section (bfd *abfd, struct bfd_link_info *info) flags = (SEC_ALLOC | SEC_LOAD | SEC_HAS_CONTENTS | SEC_IN_MEMORY | SEC_LINKER_CREATED); - got = bfd_make_section (abfd, ".got"); + got = bfd_make_section_with_flags (abfd, ".got", flags); if (!got - || !bfd_set_section_flags (abfd, got, flags) || !bfd_set_section_alignment (abfd, got, 3)) return FALSE; - relgot = bfd_make_section (abfd, ".rela.got"); + relgot = bfd_make_section_with_flags (abfd, ".rela.got", + flags | SEC_READONLY); if (!relgot - || ! bfd_set_section_flags (abfd, relgot, flags | SEC_READONLY) || ! bfd_set_section_alignment (abfd, relgot, 3)) return FALSE; @@ -4686,12 +4686,13 @@ ppc64_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, { flagword flags; - sreloc = bfd_make_section (dynobj, name); flags = (SEC_HAS_CONTENTS | SEC_READONLY | SEC_IN_MEMORY | SEC_LINKER_CREATED | SEC_ALLOC | SEC_LOAD); + sreloc = bfd_make_section_with_flags (dynobj, + name, + flags); if (sreloc == NULL - || ! bfd_set_section_flags (dynobj, sreloc, flags) || ! bfd_set_section_alignment (dynobj, sreloc, 3)) return FALSE; } |