+2007-07-29  Alan Modra  <amodra@bigpond.net.au>
+
+       * ldlang.c (lang_insert_orphan): When searching through linker
+       script to place an orphan, don't stop on statements that appear
+       outside of SECTIONS.
+       * emultempl/elf32.em (output_rel_find): Prefer read-only alloc
+       sections over read/write alloc sections.
+
 2007-07-28  Jakub Jelinek  <jakub@redhat.com>
 
        * scripttempl/elf.sc: Add .note.gnu.build-id.
 
   lang_output_section_statement_type *lookup;
   lang_output_section_statement_type *last = NULL;
   lang_output_section_statement_type *last_alloc = NULL;
+  lang_output_section_statement_type *last_ro_alloc = NULL;
   lang_output_section_statement_type *last_rel = NULL;
   lang_output_section_statement_type *last_rel_alloc = NULL;
   int rela = sec->name[4] == 'a';
       last = lookup;
       if (lookup->bfd_section != NULL
          && (lookup->bfd_section->flags & SEC_ALLOC) != 0)
-       last_alloc = lookup;
+       {
+         last_alloc = lookup;
+         if ((lookup->bfd_section->flags & SEC_READONLY) != 0)
+           last_ro_alloc = lookup;
+       }
     }
 
   if (last_rel_alloc)
   if (last_rel)
     return last_rel;
 
+  if (last_ro_alloc)
+    return last_ro_alloc;
+
   if (last_alloc)
     return last_alloc;
 
 
                    case lang_output_section_statement_enum:
                      if (assign != NULL)
                        where = assign;
+                     break;
                    case lang_input_statement_enum:
                    case lang_address_statement_enum:
                    case lang_target_statement_enum:
                    case lang_output_statement_enum:
                    case lang_group_statement_enum:
                    case lang_afile_asection_pair_statement_enum:
-                     break;
+                     continue;
                    }
                  break;
                }
 
+2007-07-29  Alan Modra  <amodra@bigpond.net.au>
+
+       * ld-elf/weak-dyn-1.rd: Adjust.
+
 2007-07-25  Daniel Jacobowitz  <dan@codesourcery.com>
 
        * ld-cdtest/cdtest-foo.cc (strncpy): Fix parameter name.
 
 #...
-0+800000 .* foo.*
+.* foo.*
 #pass