This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Patch to keep special sections generated by mips gcc


New mainline versions of binutils ld strip zero length sections
by default.  This patch is needed to ensure that the special
sections generated by mips gcc are kept in the final executable.


2006-06-07  Fred Fish  <fnf@specifix.com>

	* mips/idt.ld, mips/idt32.ld, mips/idt64.ld, mips/nullmon.ld,
	mips/pmon.ld:  Keep special sections generated by mips gcc.

Index: mips/idt.ld
===================================================================
RCS file: /cvsroots/latest/src/newlib/libgloss/mips/idt.ld,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 idt.ld
--- mips/idt.ld	8 Oct 2005 19:45:24 -0000	1.1.1.1
+++ mips/idt.ld	8 Jun 2006 01:45:16 -0000
@@ -170,4 +170,15 @@ SECTIONS
   .debug_funcnames 0 : { *(.debug_funcnames) }
   .debug_typenames 0 : { *(.debug_typenames) }
   .debug_varnames  0 : { *(.debug_varnames) }
+
+  /* Special sections generated by gcc */
+  /* Newer GNU linkers strip by default */
+  .mdebug.abi32            0 : { KEEP(*(.mdebug.abi32)) }
+  .mdebug.abiN32           0 : { KEEP(*(.mdebug.abiN32)) }
+  .mdebug.abi64            0 : { KEEP(*(.mdebug.abi64)) }
+  .mdebug.abiO64           0 : { KEEP(*(.mdebug.abiO64)) }
+  .mdebug.eabi32           0 : { KEEP(*(.mdebug.eabi32)) }
+  .mdebug.eabi64           0 : { KEEP(*(.mdebug.eabi64)) }
+  .gcc_compiled_long32     0 : { KEEP(*(.gcc_compiled_long32)) }
+  .gcc_compiled_long64     0 : { KEEP(*(.gcc_compiled_long64)) }
 }
Index: mips/idt32.ld
===================================================================
RCS file: /cvsroots/latest/src/newlib/libgloss/mips/idt32.ld,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 idt32.ld
--- mips/idt32.ld	8 Oct 2005 19:45:24 -0000	1.1.1.1
+++ mips/idt32.ld	8 Jun 2006 01:45:06 -0000
@@ -172,4 +172,15 @@ SECTIONS
   .debug_funcnames 0 : { *(.debug_funcnames) }
   .debug_typenames 0 : { *(.debug_typenames) }
   .debug_varnames  0 : { *(.debug_varnames) }
+
+  /* Special sections generated by gcc */
+  /* Newer GNU linkers strip by default */
+  .mdebug.abi32            0 : { KEEP(*(.mdebug.abi32)) }
+  .mdebug.abiN32           0 : { KEEP(*(.mdebug.abiN32)) }
+  .mdebug.abi64            0 : { KEEP(*(.mdebug.abi64)) }
+  .mdebug.abiO64           0 : { KEEP(*(.mdebug.abiO64)) }
+  .mdebug.eabi32           0 : { KEEP(*(.mdebug.eabi32)) }
+  .mdebug.eabi64           0 : { KEEP(*(.mdebug.eabi64)) }
+  .gcc_compiled_long32     0 : { KEEP(*(.gcc_compiled_long32)) }
+  .gcc_compiled_long64     0 : { KEEP(*(.gcc_compiled_long64)) }
 }
Index: mips/idt64.ld
===================================================================
RCS file: /cvsroots/latest/src/newlib/libgloss/mips/idt64.ld,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 idt64.ld
--- mips/idt64.ld	8 Oct 2005 19:45:24 -0000	1.1.1.1
+++ mips/idt64.ld	8 Jun 2006 01:44:59 -0000
@@ -171,4 +171,15 @@ SECTIONS
   .debug_funcnames 0 : { *(.debug_funcnames) }
   .debug_typenames 0 : { *(.debug_typenames) }
   .debug_varnames  0 : { *(.debug_varnames) }
+
+  /* Special sections generated by gcc */
+  /* Newer GNU linkers strip by default */
+  .mdebug.abi32            0 : { KEEP(*(.mdebug.abi32)) }
+  .mdebug.abiN32           0 : { KEEP(*(.mdebug.abiN32)) }
+  .mdebug.abi64            0 : { KEEP(*(.mdebug.abi64)) }
+  .mdebug.abiO64           0 : { KEEP(*(.mdebug.abiO64)) }
+  .mdebug.eabi32           0 : { KEEP(*(.mdebug.eabi32)) }
+  .mdebug.eabi64           0 : { KEEP(*(.mdebug.eabi64)) }
+  .gcc_compiled_long32     0 : { KEEP(*(.gcc_compiled_long32)) }
+  .gcc_compiled_long64     0 : { KEEP(*(.gcc_compiled_long64)) }
 }
Index: mips/nullmon.ld
===================================================================
RCS file: /cvsroots/latest/src/newlib/libgloss/mips/nullmon.ld,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 nullmon.ld
--- mips/nullmon.ld	8 Oct 2005 19:45:24 -0000	1.1.1.1
+++ mips/nullmon.ld	8 Jun 2006 01:44:52 -0000
@@ -165,4 +165,15 @@ SECTIONS
   .debug_funcnames 0 : { *(.debug_funcnames) }
   .debug_typenames 0 : { *(.debug_typenames) }
   .debug_varnames  0 : { *(.debug_varnames) }
+
+  /* Special sections generated by gcc */
+  /* Newer GNU linkers strip by default */
+  .mdebug.abi32            0 : { KEEP(*(.mdebug.abi32)) }
+  .mdebug.abiN32           0 : { KEEP(*(.mdebug.abiN32)) }
+  .mdebug.abi64            0 : { KEEP(*(.mdebug.abi64)) }
+  .mdebug.abiO64           0 : { KEEP(*(.mdebug.abiO64)) }
+  .mdebug.eabi32           0 : { KEEP(*(.mdebug.eabi32)) }
+  .mdebug.eabi64           0 : { KEEP(*(.mdebug.eabi64)) }
+  .gcc_compiled_long32     0 : { KEEP(*(.gcc_compiled_long32)) }
+  .gcc_compiled_long64     0 : { KEEP(*(.gcc_compiled_long64)) }
 }
Index: mips/pmon.ld
===================================================================
RCS file: /cvsroots/latest/src/newlib/libgloss/mips/pmon.ld,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 pmon.ld
--- mips/pmon.ld	8 Oct 2005 19:45:24 -0000	1.1.1.1
+++ mips/pmon.ld	8 Jun 2006 01:44:38 -0000
@@ -164,4 +164,15 @@ SECTIONS
   .debug_funcnames 0 : { *(.debug_funcnames) }
   .debug_typenames 0 : { *(.debug_typenames) }
   .debug_varnames  0 : { *(.debug_varnames) }
+
+  /* Special sections generated by gcc */
+  /* Newer GNU linkers strip by default */
+  .mdebug.abi32            0 : { KEEP(*(.mdebug.abi32)) }
+  .mdebug.abiN32           0 : { KEEP(*(.mdebug.abiN32)) }
+  .mdebug.abi64            0 : { KEEP(*(.mdebug.abi64)) }
+  .mdebug.abiO64           0 : { KEEP(*(.mdebug.abiO64)) }
+  .mdebug.eabi32           0 : { KEEP(*(.mdebug.eabi32)) }
+  .mdebug.eabi64           0 : { KEEP(*(.mdebug.eabi64)) }
+  .gcc_compiled_long32     0 : { KEEP(*(.gcc_compiled_long32)) }
+  .gcc_compiled_long64     0 : { KEEP(*(.gcc_compiled_long64)) }
 }


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