| Index: bfd/elf32-score.c
|
| diff --git a/bfd/elf32-score.c b/bfd/elf32-score.c
|
| index b4376242c94e648ef9f9ed26e5adfe6822bfe067..01a602b1a4f95775744fc4bdc896b3f6eb491c30 100644
|
| --- a/bfd/elf32-score.c
|
| +++ b/bfd/elf32-score.c
|
| @@ -1,5 +1,5 @@
|
| /* 32-bit ELF support for S+core.
|
| - Copyright 2006, 2007, 2008, 2009, 2010, 2011
|
| + Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012
|
| Free Software Foundation, Inc.
|
| Contributed by
|
| Brain.lin (brain.lin@sunplusct.com)
|
| @@ -1066,7 +1066,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;
|
| @@ -1247,16 +1247,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)))
|
| @@ -1429,7 +1429,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;
|
| @@ -2672,9 +2672,9 @@ s3_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)
|
| {
|
| @@ -3123,7 +3123,7 @@ s3_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;
|
| @@ -3259,7 +3259,7 @@ s3_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;
|
| @@ -3417,7 +3417,7 @@ s3_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))
|
| @@ -3432,10 +3432,10 @@ s3_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))
|
|
|
| @@ -3489,7 +3489,7 @@ s3_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? */
|
| @@ -3568,7 +3568,7 @@ s3_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)
|
|
|