Index: firmware/rom.lds
===================================================================
RCS file: /cvsroot/rockbox/firmware/rom.lds,v
retrieving revision 1.2
diff -u -r1.2 rom.lds
--- firmware/rom.lds	3 Sep 2004 13:16:19 -0000	1.2
+++ firmware/rom.lds	4 Sep 2004 01:25:56 -0000
@@ -24,15 +24,14 @@
         . = _datastart + 0x200;
         *(.data)
         . = ALIGN(0x4);
-        _dataend = .;
+        _dataend = .;         
+        . = ALIGN(0x10);  /* Maintain proper allocation for .text section */
     } > DRAM
     
-    .datacopy :
-    {
-       . += SIZEOF(.data);
-    } > FLASH
-
-    .text :
+    /* TRICK ALERT! Newer versions of the linker don't allow output sections
+       to overlap even if one of them is empty, so advance the location pointer
+       "by hand" */
+    .text LOADADDR(.data) + SIZEOF(.data) :
     {
         *(.init.text)
         *(.text)
@@ -44,10 +43,6 @@
         *(.rodata)
         *(.rodata.str1.4)
         . = ALIGN(0x4);
-    } > FLASH
-
-    .iramcopy : 
-    {
         _iramcopy = .;
     } > FLASH
 

