Update ROCm for multi-target support
[deliverable/binutils-gdb.git] / ld / ldelf.c
index 8d4a2e58a1b6c96effc4873d147a259942dca9c1..6c20fbeff51e65b829f9848fd337291a2088b361 100644 (file)
@@ -1,5 +1,5 @@
 /* ELF emulation code for targets using elf.em.
-   Copyright (C) 1991-2019 Free Software Foundation, Inc.
+   Copyright (C) 1991-2020 Free Software Foundation, Inc.
 
    This file is part of the GNU Binutils.
 
@@ -23,6 +23,8 @@
 #include "libiberty.h"
 #include "filenames.h"
 #include "safe-ctype.h"
+#include "bfdlink.h"
+#include "ctf-api.h"
 #include "ld.h"
 #include "ldmain.h"
 #include "ldmisc.h"
@@ -1018,7 +1020,7 @@ ldelf_after_open (int use_libpath, int native, int is_linux, int is_freebsd,
           abfd != (bfd *) NULL; abfd = abfd->link.next)
        if (bfd_get_flavour (abfd) == bfd_target_elf_flavour
            && bfd_count_sections (abfd) != 0
-           && !((lang_input_statement_type *) abfd->usrdata)->flags.just_syms)
+           && !bfd_input_just_syms (abfd))
          break;
 
       /* PR 10555: If there are no ELF input files do not try to
@@ -1060,7 +1062,7 @@ ldelf_after_open (int use_libpath, int native, int is_linux, int is_freebsd,
        {
          int type = 0;
 
-         if (((lang_input_statement_type *) abfd->usrdata)->flags.just_syms)
+         if (bfd_input_just_syms (abfd))
            continue;
 
          for (s = abfd->sections; s && type < COMPACT_EH_HDR; s = s->next)
@@ -1778,7 +1780,7 @@ output_rel_find (int isdyn, int rela)
   lang_output_section_statement_type *last_rel = NULL;
   lang_output_section_statement_type *last_rel_alloc = NULL;
 
-  for (lookup = &lang_os_list.head->output_section_statement;
+  for (lookup = (void *) lang_os_list.head;
        lookup != NULL;
        lookup = lookup->next)
     {
@@ -1950,7 +1952,7 @@ ldelf_place_orphan (asection *s, const char *secname, int constraint)
     {
       /* Find the output mbind section with the same type, attributes
         and sh_info field.  */
-      for (os = &lang_os_list.head->output_section_statement;
+      for (os = (void *) lang_os_list.head;
           os != NULL;
           os = os->next)
        if (os->bfd_section != NULL
@@ -2065,9 +2067,7 @@ ldelf_place_orphan (asection *s, const char *secname, int constraint)
            && (nexts->flags & SEC_EXCLUDE) == 0
            && ((nexts->flags ^ flags) & (SEC_LOAD | SEC_ALLOC)) == 0
            && (nexts->owner->flags & DYNAMIC) == 0
-           && nexts->owner->usrdata != NULL
-           && !(((lang_input_statement_type *) nexts->owner->usrdata)
-                ->flags.just_syms)
+           && !bfd_input_just_syms (nexts->owner)
            && _bfd_elf_match_sections_by_type (nexts->owner, nexts,
                                                s->owner, s))
          flags = (((flags ^ SEC_READONLY)
@@ -2129,7 +2129,7 @@ ldelf_place_orphan (asection *s, const char *secname, int constraint)
                                               _bfd_elf_match_sections_by_type);
       if (after == NULL)
        /* *ABS* is always the first output section statement.  */
-       after = &lang_os_list.head->output_section_statement;
+       after = (void *) lang_os_list.head;
     }
 
   return lang_insert_orphan (s, secname, constraint, after, place, NULL, NULL);
This page took 0.025684 seconds and 4 git commands to generate.