| Index: bfd/elf32-score7.c
|
| diff --git a/bfd/elf32-score7.c b/bfd/elf32-score7.c
|
| index 3e98bfc45ac2fc8038b5cbe7589c04f5b96a56c4..3615a1e7b57c1d3b29f82fb7c4ccdc21441da0af 100644
|
| --- a/bfd/elf32-score7.c
|
| +++ b/bfd/elf32-score7.c
|
| @@ -1,5 +1,5 @@
|
| /* 32-bit ELF support for S+core.
|
| - Copyright 2009, 2010, 2011 Free Software Foundation, Inc.
|
| + Copyright 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
|
| Contributed by
|
| Brain.lin (brain.lin@sunplusct.com)
|
| Mei Ligang (ligang@sunnorth.com.cn)
|
| @@ -22,8 +22,8 @@
|
| Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
|
| MA 02110-1301, USA. */
|
|
|
| -#include "bfd.h"
|
| #include "sysdep.h"
|
| +#include "bfd.h"
|
| #include "libbfd.h"
|
| #include "libiberty.h"
|
| #include "elf-bfd.h"
|
| @@ -948,7 +948,7 @@ score_elf_sort_hash_table_f (struct score_elf_link_hash_entry *h, void *data)
|
| static asection *
|
| score_elf_got_section (bfd *abfd, bfd_boolean maybe_excluded)
|
| {
|
| - asection *sgot = bfd_get_section_by_name (abfd, ".got");
|
| + asection *sgot = bfd_get_linker_section (abfd, ".got");
|
|
|
| if (sgot == NULL || (! maybe_excluded && (sgot->flags & SEC_EXCLUDE) != 0))
|
| return NULL;
|
| @@ -1103,16 +1103,16 @@ score_elf_rel_dyn_section (bfd *dynobj, bfd_boolean create_p)
|
| static const char dname[] = ".rel.dyn";
|
| asection *sreloc;
|
|
|
| - sreloc = bfd_get_section_by_name (dynobj, dname);
|
| + sreloc = bfd_get_linker_section (dynobj, dname);
|
| if (sreloc == NULL && create_p)
|
| {
|
| - sreloc = bfd_make_section_with_flags (dynobj, dname,
|
| - (SEC_ALLOC
|
| - | SEC_LOAD
|
| - | SEC_HAS_CONTENTS
|
| - | SEC_IN_MEMORY
|
| - | SEC_LINKER_CREATED
|
| - | SEC_READONLY));
|
| + sreloc = bfd_make_section_anyway_with_flags (dynobj, dname,
|
| + (SEC_ALLOC
|
| + | SEC_LOAD
|
| + | SEC_HAS_CONTENTS
|
| + | SEC_IN_MEMORY
|
| + | SEC_LINKER_CREATED
|
| + | SEC_READONLY));
|
| if (sreloc == NULL
|
| || ! bfd_set_section_alignment (dynobj, sreloc,
|
| SCORE_ELF_LOG_FILE_ALIGN (dynobj)))
|
| @@ -1286,7 +1286,7 @@ score_elf_create_got_section (bfd *abfd,
|
|
|
| /* We have to use an alignment of 2**4 here because this is hardcoded
|
| in the function stub generation and in the linker script. */
|
| - s = bfd_make_section_with_flags (abfd, ".got", flags);
|
| + s = bfd_make_section_anyway_with_flags (abfd, ".got", flags);
|
| if (s == NULL
|
| || ! bfd_set_section_alignment (abfd, s, 4))
|
| return FALSE;
|
| @@ -2443,9 +2443,9 @@ s7_bfd_score_elf_relocate_section (bfd *output_bfd,
|
| }
|
| }
|
|
|
| - if (sec != NULL && elf_discarded_section (sec))
|
| + if (sec != NULL && discarded_section (sec))
|
| RELOC_AGAINST_DISCARDED_SECTION (info, input_bfd, input_section,
|
| - rel, relend, howto, contents);
|
| + rel, 1, relend, howto, 0, contents);
|
|
|
| if (info->relocatable)
|
| {
|
| @@ -2928,7 +2928,7 @@ s7_bfd_score_elf_adjust_dynamic_symbol (struct bfd_link_info *info,
|
| if (!h->def_regular)
|
| {
|
| /* We need .stub section. */
|
| - s = bfd_get_section_by_name (dynobj, SCORE_ELF_STUB_SECTION_NAME);
|
| + s = bfd_get_linker_section (dynobj, SCORE_ELF_STUB_SECTION_NAME);
|
| BFD_ASSERT (s != NULL);
|
|
|
| h->root.u.def.section = s;
|
| @@ -3066,7 +3066,7 @@ s7_bfd_score_elf_size_dynamic_sections (bfd *output_bfd, struct bfd_link_info *i
|
| /* Set the contents of the .interp section to the interpreter. */
|
| if (!info->shared)
|
| {
|
| - s = bfd_get_section_by_name (dynobj, ".interp");
|
| + s = bfd_get_linker_section (dynobj, ".interp");
|
| BFD_ASSERT (s != NULL);
|
| s->size = strlen (ELF_DYNAMIC_INTERPRETER) + 1;
|
| s->contents = (bfd_byte *) ELF_DYNAMIC_INTERPRETER;
|
| @@ -3224,7 +3224,7 @@ s7_bfd_score_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
|
| | SEC_LINKER_CREATED | SEC_READONLY);
|
|
|
| /* ABI requests the .dynamic section to be read only. */
|
| - s = bfd_get_section_by_name (abfd, ".dynamic");
|
| + s = bfd_get_linker_section (abfd, ".dynamic");
|
| if (s != NULL)
|
| {
|
| if (!bfd_set_section_flags (abfd, s, flags))
|
| @@ -3239,10 +3239,10 @@ s7_bfd_score_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
|
| return FALSE;
|
|
|
| /* Create .stub section. */
|
| - if (bfd_get_section_by_name (abfd, SCORE_ELF_STUB_SECTION_NAME) == NULL)
|
| + if (bfd_get_linker_section (abfd, SCORE_ELF_STUB_SECTION_NAME) == NULL)
|
| {
|
| - s = bfd_make_section_with_flags (abfd, SCORE_ELF_STUB_SECTION_NAME,
|
| - flags | SEC_CODE);
|
| + s = bfd_make_section_anyway_with_flags (abfd, SCORE_ELF_STUB_SECTION_NAME,
|
| + flags | SEC_CODE);
|
| if (s == NULL
|
| || !bfd_set_section_alignment (abfd, s, 2))
|
|
|
| @@ -3297,7 +3297,7 @@ s7_bfd_score_elf_finish_dynamic_symbol (bfd *output_bfd,
|
| /* This symbol has a stub. Set it up. */
|
| BFD_ASSERT (h->dynindx != -1);
|
|
|
| - s = bfd_get_section_by_name (dynobj, SCORE_ELF_STUB_SECTION_NAME);
|
| + s = bfd_get_linker_section (dynobj, SCORE_ELF_STUB_SECTION_NAME);
|
| BFD_ASSERT (s != NULL);
|
|
|
| /* FIXME: Can h->dynindex be more than 64K? */
|
| @@ -3377,7 +3377,7 @@ s7_bfd_score_elf_finish_dynamic_sections (bfd *output_bfd,
|
|
|
| dynobj = elf_hash_table (info)->dynobj;
|
|
|
| - sdyn = bfd_get_section_by_name (dynobj, ".dynamic");
|
| + sdyn = bfd_get_linker_section (dynobj, ".dynamic");
|
|
|
| sgot = score_elf_got_section (dynobj, FALSE);
|
| if (sgot == NULL)
|
|
|