diff packages/hal/arm/arch/current/src/arm.ld @ 66:bf00f99aec69 ecos-sw-2000-02-02

Merge from eCos master repository on 2000-02-02-19:16:44-GMT
author jlarmour
date Wed, 02 Feb 2000 19:57:02 +0000
parents c38311975d4f
children 435cced73e2f
line wrap: on
line diff
--- a/packages/hal/arm/arch/current/src/arm.ld
+++ b/packages/hal/arm/arch/current/src/arm.ld
@@ -8,11 +8,11 @@
 //                                                                          
 // -------------------------------------------                              
 // The contents of this file are subject to the Red Hat eCos Public License 
-// Version 1.0 (the "License"); you may not use this file except in         
+// Version 1.1 (the "License"); you may not use this file except in         
 // compliance with the License.  You may obtain a copy of the License at    
-// http://sourceware.cygnus.com/ecos                                        
+// http://www.redhat.com/                                                   
 //                                                                          
-// Software distributed under the License is distributed on an       
+// Software distributed under the License is distributed on an "AS IS"      
 // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.  See the 
 // License for the specific language governing rights and limitations under 
 // the License.                                                             
@@ -30,6 +30,7 @@
 //=============================================================================
 
 #include <pkgconf/system.h>
+
 STARTUP(vectors.o)
 ENTRY(reset_vector)
 #ifdef EXTRAS
@@ -41,8 +42,8 @@ GROUP(libtarget.a libgcc.a)
 OUTPUT_FORMAT(elf32-bigarm)
 #endif
 
-#if defined(CYG_HAL_STARTUP_STUBS) \
-    && defined(CYGPKG_HAL_ARM_PID) \
+#if defined(CYG_HAL_STARTUP_ROM)    \
+    && defined(CYGPKG_HAL_ARM_PID)  \
     && defined(__ARMEB__)
 // Note: This is only needed when the PID board is used in BE mode without
 //       the proper ROM controller part.
@@ -53,12 +54,12 @@ OUTPUT_FORMAT(elf32-bigarm)
 // This does not happen on ROM access (unless the proper ROM controller
 // is used).
 //
-// This is matched in the PID stubs.ldi file which does not use the
-// RODATA macros.
 #define MERGE_IN_RODATA *(.rodata*)
+#define CYGPRI_PID_BE_WORKAROUND
 #else
 // Keep RODATA in separate sections.
 #define MERGE_IN_RODATA
+#undef  CYGPRI_PID_BE_WORKAROUND
 #endif
 
 #define ALIGN_LMA 4
@@ -96,6 +97,10 @@ OUTPUT_FORMAT(elf32-bigarm)
     { FORCE_OUTPUT; *(.fini) } \
     > _region_
 
+#if defined(CYGPRI_PID_BE_WORKAROUND)
+#define SECTION_rodata(_region_, _vma_, _lma_)
+#define SECTION_rodata1(_region_, _vma_, _lma_)
+#else
 #define SECTION_rodata(_region_, _vma_, _lma_) \
     .rodata _vma_ : _lma_ \
     { FORCE_OUTPUT; *(.rodata*) } \
@@ -105,6 +110,7 @@ OUTPUT_FORMAT(elf32-bigarm)
     .rodata1 _vma_ : _lma_ \
     { FORCE_OUTPUT; *(.rodata1) } \
     > _region_
+#endif // CYGPRI_PID_BE_WORKAROUND
 
 #define SECTION_fixup(_region_, _vma_, _lma_) \
     .fixup _vma_ : _lma_ \