+Fri Feb 25 10:47:25 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
+
+       * ldlang.c (lang_size_sections): No longer static (PA ELF calls
+       it via hppaelf_finish).  Prototype moved into ldlang.h.
+       (lang_process): Move problematic extra call to lang_size_sections
+       into the PA ELF specific code.
+       * emultempl/hppaelf.em (hppaelf_finish): Extra call to
+       lang_size_sections moved here.
+
 Thu Feb 24 16:47:33 1994  Ian Lance Taylor  (ian@cygnus.com)
 
        * configure.in (powerpc-*-elf*): New target; use ppc-elf32.
 
   PARAMS ((lang_statement_union_type **this_ptr,
           lang_output_section_statement_type *output_section_statement,
           fill_type fill, bfd_vma dot, boolean relax));
-static bfd_vma lang_size_sections
-  PARAMS ((lang_statement_union_type *s,
-          lang_output_section_statement_type *output_section_statement,
-          lang_statement_union_type **prev, fill_type fill,
-          bfd_vma dot, boolean relax));
 static bfd_vma lang_do_assignments
   PARAMS ((lang_statement_union_type * s,
           lang_output_section_statement_type *output_section_statement,
    */
 static boolean had_relax;
 
-static bfd_vma
+bfd_vma
 lang_size_sections (s, output_section_statement, prev, fill, dot, relax)
      lang_statement_union_type * s;
      lang_output_section_statement_type * output_section_statement;
         /* The section starts here */
         /* First, align to what the section needs */
 
+        if (os->section_alignment != -1)
+          dot = align_power (dot, os->section_alignment);
 
-        dot = align_power (dot, os->bfd_section->alignment_power);
         bfd_set_section_vma (0, os->bfd_section, dot);
         
         if (os->load_base) {
   /* Final stuffs */
 
   ldemul_finish ();
-
-#if 0
-  /* DO NOT REENABLE THIS CALL.  IF THIS CALL IS MADE, THE SUN4 LINKER
-     CAN NOT BOOTSTRAP!!  No, I don't know why, but don't change it
-     unless you fix it.  */
-  /* Size up the sections.  */
-  lang_size_sections (statement_list.head,
-                     abs_output_section,
-                     &(statement_list.head), 0, (bfd_vma) 0, false);
-#endif
-
   lang_finish ();
 }