ld/
authorRoland McGrath <roland@gnu.org>
Mon, 26 Nov 2012 23:26:35 +0000 (23:26 +0000)
committerRoland McGrath <roland@gnu.org>
Mon, 26 Nov 2012 23:26:35 +0000 (23:26 +0000)
* emultempl/aarch64elf.em (gld${EMULATION_NAME}_before_parse):
Copy last elf32.em here too.
* emultempl/armelf.em (gld${EMULATION_NAME}_before_parse): Likewise.
* emultempl/mmixelf.em (gld${EMULATION_NAME}_before_parse): Likewise.
* emultempl/scoreelf.em (gld${EMULATION_NAME}_before_parse): Likewise.

ld/ChangeLog
ld/emultempl/aarch64elf.em
ld/emultempl/armelf.em
ld/emultempl/mmixelf.em
ld/emultempl/scoreelf.em

index 66b9762..5bde061 100644 (file)
@@ -1,3 +1,11 @@
+2012-11-26  Roland McGrath  <mcgrathr@google.com>
+
+       * emultempl/aarch64elf.em (gld${EMULATION_NAME}_before_parse):
+       Copy last elf32.em here too.
+       * emultempl/armelf.em (gld${EMULATION_NAME}_before_parse): Likewise.
+       * emultempl/mmixelf.em (gld${EMULATION_NAME}_before_parse): Likewise.
+       * emultempl/scoreelf.em (gld${EMULATION_NAME}_before_parse): Likewise.
+
 2012-11-21  Roland McGrath  <mcgrathr@google.com>
 
        * ld.h (ld_config_type): New flag member separate_code.
index 4c03ffd..25935d0 100644 (file)
@@ -39,6 +39,7 @@ gld${EMULATION_NAME}_before_parse (void)
 #endif /* not TARGET_ */
   input_flags.dynamic = ${DYNAMIC_LINK-TRUE};
   config.has_shared = `if test -n "$GENERATE_SHLIB_SCRIPT" ; then echo TRUE ; else echo FALSE ; fi`;
+  config.separate_code = `if test "x${SEPARATE_CODE}" = xyes ; then echo TRUE ; else echo FALSE ; fi`;
 }
 
 static void
index 3b881dd..7f7d2cc 100644 (file)
@@ -52,6 +52,7 @@ gld${EMULATION_NAME}_before_parse (void)
 #endif /* not TARGET_ */
   input_flags.dynamic = ${DYNAMIC_LINK-TRUE};
   config.has_shared = `if test -n "$GENERATE_SHLIB_SCRIPT" ; then echo TRUE ; else echo FALSE ; fi`;
+  config.separate_code = `if test "x${SEPARATE_CODE}" = xyes ; then echo TRUE ; else echo FALSE ; fi`;
 }
 
 static void
@@ -254,19 +255,19 @@ compare_output_sec_vma (const void *a, const void *b)
   asection *asec = *(asection **) a, *bsec = *(asection **) b;
   asection *aout = asec->output_section, *bout = bsec->output_section;
   bfd_vma avma, bvma;
-  
+
   /* If there's no output section for some reason, compare equal.  */
   if (!aout || !bout)
     return 0;
-  
+
   avma = aout->vma + asec->output_offset;
   bvma = bout->vma + bsec->output_offset;
-  
+
   if (avma > bvma)
     return 1;
   else if (avma < bvma)
     return -1;
-  
+
   return 0;
 }
 
@@ -286,10 +287,10 @@ gld${EMULATION_NAME}_after_allocation (void)
        {
          bfd *abfd = is->the_bfd;
          asection *sec;
-         
+
          if ((abfd->flags & (EXEC_P | DYNAMIC)) != 0)
            continue;
-         
+
          for (sec = abfd->sections; sec != NULL; sec = sec->next)
            {
              asection *out_sec = sec->output_section;
@@ -305,7 +306,7 @@ gld${EMULATION_NAME}_after_allocation (void)
                  if (sec_count == list_size)
                    {
                      list_size *= 2;
-                     sec_list = (asection **) 
+                     sec_list = (asection **)
                           xrealloc (sec_list, list_size * sizeof (asection *));
                    }
 
@@ -313,13 +314,13 @@ gld${EMULATION_NAME}_after_allocation (void)
                }
            }
        }
-       
+
       qsort (sec_list, sec_count, sizeof (asection *), &compare_output_sec_vma);
-      
+
       if (elf32_arm_fix_exidx_coverage (sec_list, sec_count, &link_info,
                                           merge_exidx_entries))
        need_laying_out = 1;
-      
+
       free (sec_list);
     }
 
@@ -465,7 +466,7 @@ arm_elf_create_output_section_statements (void)
                                   target2_type, fix_v4bx, use_blx,
                                   vfp11_denorm_fix, no_enum_size_warning,
                                   no_wchar_size_warning,
-                                  pic_veneer, fix_cortex_a8, 
+                                  pic_veneer, fix_cortex_a8,
                                   fix_arm1176);
 
   stub_file = lang_add_input_file ("linker stubs",
@@ -480,7 +481,7 @@ arm_elf_create_output_section_statements (void)
       einfo ("%X%P: can not create BFD %E\n");
       return;
     }
+
   stub_file->the_bfd->flags |= BFD_LINKER_CREATED;
   ldlang_add_file (stub_file);
 
index a875a5c..89c60c9 100644 (file)
@@ -1,5 +1,5 @@
 # This shell script emits a C file. -*- C -*-
-#   Copyright 2001, 2002, 2003, 2005, 2007 Free Software Foundation, Inc.
+#   Copyright 2001, 2002, 2003, 2005, 2007, 2012 Free Software Foundation, Inc.
 #
 # This file is part of the GNU Binutils.
 #
@@ -38,6 +38,8 @@ elfmmix_before_parse (void)
      full system with shared libraries and demand paging, you will want to
      exclude this file.  */
   config.magic_demand_paged = FALSE;
+
+  config.separate_code = `if test "x${SEPARATE_CODE}" = xyes ; then echo TRUE ; else echo FALSE ; fi`;
 }
 EOF
 
index 94aa5af..8556b40 100644 (file)
@@ -38,6 +38,7 @@ gld${EMULATION_NAME}_before_parse ()
 #endif /* not TARGET_ */
   input_flags.dynamic = ${DYNAMIC_LINK-TRUE};
   config.has_shared = `if test -n "$GENERATE_SHLIB_SCRIPT" ; then echo TRUE ; else echo FALSE ; fi`;
+  config.separate_code = `if test "x${SEPARATE_CODE}" = xyes ; then echo TRUE ; else echo FALSE ; fi`;
 }
 
 static void
@@ -74,4 +75,3 @@ LDEMUL_AFTER_OPEN=score_elf_after_open
 
 # Replace the elf before_parse function with our own.
 LDEMUL_BEFORE_PARSE=gld"${EMULATION_NAME}"_before_parse
-