* elf64-ppc.c (dec_dynrel_count): Don't error when elf_gc_sweep_symbol
[external/binutils.git] / ld / emultempl / sunos.em
index 5c6c0a6..d7cd3e8 100644 (file)
@@ -10,7 +10,8 @@ fragment <<EOF
 
 /* SunOS emulation code for ${EMULATION_NAME}
    Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-   2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+   2002, 2003, 2004, 2005, 2006, 2007, 2008, 2012
+   Free Software Foundation, Inc.
    Written by Steve Chamberlain <sac@cygnus.com>
    SunOS shared library support by Ian Lance Taylor <ian@cygnus.com>
 
@@ -85,7 +86,7 @@ static void
 gld${EMULATION_NAME}_before_parse (void)
 {
   ldfile_set_output_arch ("${OUTPUT_ARCH}", bfd_arch_`echo ${ARCH} | sed -e 's/:.*//'`);
-  config.dynamic_link = TRUE;
+  input_flags.dynamic = TRUE;
   config.has_shared = TRUE;
 }
 
@@ -156,9 +157,9 @@ gld${EMULATION_NAME}_find_so (lang_input_statement_type *inp)
   char *alc;
   struct stat st;
 
-  if (! inp->search_dirs_flag
-      || ! inp->maybe_archive
-      || ! inp->dynamic)
+  if (! inp->flags.search_dirs
+      || ! inp->flags.maybe_archive
+      || ! inp->flags.dynamic)
     return;
 
   ASSERT (CONST_STRNEQ (inp->local_sym_name, "-l"));
@@ -188,7 +189,7 @@ gld${EMULATION_NAME}_find_so (lang_input_statement_type *inp)
 
   /* Turn off the search_dirs_flag to prevent ldfile_open_file from
      searching for this file again.  */
-  inp->search_dirs_flag = FALSE;
+  inp->flags.search_dirs = FALSE;
 
   free (found);
 
@@ -366,6 +367,8 @@ gld${EMULATION_NAME}_after_open (void)
 {
   struct bfd_link_needed_list *needed, *l;
 
+  after_open_default ();
+
   /* We only need to worry about this when doing a final link.  */
   if (link_info.relocatable || link_info.shared)
     return;
@@ -889,7 +892,7 @@ gld${EMULATION_NAME}_count_need (lang_input_statement_type *inp)
     {
       ++need_entries;
       need_size += NEED_ENTRY_SIZE;
-      if (! inp->maybe_archive)
+      if (! inp->flags.maybe_archive)
        need_size += strlen (inp->filename) + 1;
       else
        {
@@ -917,7 +920,7 @@ gld${EMULATION_NAME}_set_need (lang_input_statement_type *inp)
         referential locality.  */
       bfd_put_32 (link_info.output_bfd, need_pnames - need_contents,
                  need_pinfo);
-      if (! inp->maybe_archive)
+      if (! inp->flags.maybe_archive)
        {
          bfd_put_32 (link_info.output_bfd, (bfd_vma) 0, need_pinfo + 4);
          bfd_put_16 (link_info.output_bfd, (bfd_vma) 0, need_pinfo + 8);