This is the mail archive of the binutils@sourceware.cygnus.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Patch: ld in CVS is still broken


I checked in the following patch to fix:

http://sourceware.cygnus.com/ml/binutils/2000-04/msg00439.html


-- 
H.J. Lu (hjl@gnu.org)
--
2000-04-18  H.J. Lu  <hjl@gnu.org>

	* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Call
	lang_leave_output_section_statement () after calling
	lang_enter_output_section_statement ().
	* emultempl/armelf.em: Likewise.

Index: emultempl/armelf.em
===================================================================
RCS file: /work/cvs/gnu/binutils/ld/emultempl/armelf.em,v
retrieving revision 1.1.1.13
diff -u -p -r1.1.1.13 armelf.em
--- emultempl/armelf.em	2000/04/18 17:06:32	1.1.1.13
+++ emultempl/armelf.em	2000/04/18 23:34:09
@@ -933,13 +933,14 @@ gld${EMULATION_NAME}_place_orphan (file,
   os = lang_output_section_statement_lookup (outsecname);
   wild_doit (&os->children, s, os, file);
 
+  lang_leave_output_section_statement
+    ((bfd_vma) 0, "*default*",
+     (struct lang_output_section_phdr_list *) NULL, "*default*");
+
   if (place != NULL)
     {
       asection *snew, **pps;
 
-      lang_leave_output_section_statement
-	((bfd_vma) 0, "*default*",
-	 (struct lang_output_section_phdr_list *) NULL, "*default*");
       stat_ptr = &add;
 
       if (*ps == '\0' && config.build_constructors)
Index: emultempl/elf32.em
===================================================================
RCS file: /work/cvs/gnu/binutils/ld/emultempl/elf32.em,v
retrieving revision 1.13
diff -u -p -r1.13 elf32.em
--- emultempl/elf32.em	2000/04/18 17:12:40	1.13
+++ emultempl/elf32.em	2000/04/18 23:31:34
@@ -1015,13 +1015,14 @@ gld${EMULATION_NAME}_place_orphan (file,
   os = lang_output_section_statement_lookup (outsecname);
   wild_doit (&os->children, s, os, file);
 
+  lang_leave_output_section_statement
+    ((bfd_vma) 0, "*default*",
+     (struct lang_output_section_phdr_list *) NULL, "*default*");
+
   if (place != NULL)
     {
       asection *snew, **pps;
 
-      lang_leave_output_section_statement
-	((bfd_vma) 0, "*default*",
-	 (struct lang_output_section_phdr_list *) NULL, "*default*");
       stat_ptr = &add;
 
       if (*ps == '\0' && config.build_constructors)

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]