changeset 1159:46ec92b4d31c

* src/mips_tx49.ld: Removed the "& defined(CYGPKG_IO)" which was causing libextras.a not to get built for a redboot configuration. The offsets for the exception vectors were wrong for a ROM build of redboot. For R4000 class mips, the utlb vector is at 0xbfc00200, and the general exception vector is at 0xbfc00380 Added *.2ram sections which were missing from the data segment.
author nickg
date Wed, 06 Aug 2003 17:35:06 +0000
parents 10a36d0fd6f3
children 71746e7a1cdc
files packages/hal/mips/tx49/current/ChangeLog packages/hal/mips/tx49/current/src/mips_tx49.ld
diffstat 2 files changed, 15 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/packages/hal/mips/tx49/current/ChangeLog
+++ b/packages/hal/mips/tx49/current/ChangeLog
@@ -1,3 +1,13 @@
+2003-08-06  Andy Dyer <adyer@righthandtech.com>
+
+	* src/mips_tx49.ld:
+	Removed the "& defined(CYGPKG_IO)" which was causing libextras.a
+	not to get built for a redboot configuration.  The offsets for the
+	exception vectors were wrong for a ROM build of redboot.  For
+	R4000 class mips, the utlb vector is at 0xbfc00200, and the
+	general exception vector is at 0xbfc00380 Added *.2ram sections
+	which were missing from the data segment.
+
 2003-04-10  Nick Garnett  <nickg@balti.calivar.com>
 
 	* src/mips_tx49.ld: 
--- a/packages/hal/mips/tx49/current/src/mips_tx49.ld
+++ b/packages/hal/mips/tx49/current/src/mips_tx49.ld
@@ -43,11 +43,11 @@ OUTPUT_FORMAT("elf32-bigmips", "elf32-bi
               "elf32-littlemips")
 /* The preprocessor defines mips, but we know we're mips :-) */
 #undef mips
-OUTPUT_ARCH(mips:4900)
+OUTPUT_ARCH(mips:4000)
 
 STARTUP(vectors.o)
 ENTRY(reset_vector)
-#if defined(EXTRAS) && defined(CYGPKG_IO)
+#if defined(EXTRAS)
 INPUT(extras.o)
 #endif
 #if (__GNUC__ >= 3)
@@ -86,7 +86,8 @@ GROUP(libtarget.a libgcc.a)
 #define SECTION_rom_vectors(_region_, _vma_, _lma_) \
     .rom_vectors _vma_ : _lma_ \
     { KEEP (*(.reset_vector)) \
-    . = ALIGN(0x100); KEEP (*(.utlb_vector)) \
+    . = ALIGN(0x200); KEEP (*(.utlb_vector)) \
+    . = ALIGN(0x100); . = . + 4; \
     . = ALIGN(0x80); KEEP(*(.other_vector)) \
     . = ALIGN(0x100); KEEP(*(.debug_vector)) } \
     > _region_
@@ -204,6 +205,7 @@ GROUP(libtarget.a libgcc.a)
     {                                                 \
       __ram_data_start = ABSOLUTE (.); _fdata = . ;   \
       *(.data) *(.data.*) *(.gnu.linkonce.d*)         \
+      *(.2ram.*)                                      \
     . = ALIGN (8);                                    \
     SORT(CONSTRUCTORS)                                \
     } > _region_                                      \