diff packages/hal/sh/arch/current/src/sh.ld @ 130:eb9fd8c04db3 ecos-sw-2000-10-23

Merge from eCos master repository on 2000-10-23-17:01:37-BST
author jlarmour
date Mon, 23 Oct 2000 17:10:57 +0000
parents 6ed91473a1cd
children 289bf90c6a9b
line wrap: on
line diff
--- a/packages/hal/sh/arch/current/src/sh.ld
+++ b/packages/hal/sh/arch/current/src/sh.ld
@@ -40,6 +40,8 @@
 //
 //========================================================================*/
 
+#include <pkgconf/system.h>
+
 STARTUP(vectors.o)
 ENTRY(__reset)
 #ifdef EXTRAS
@@ -53,66 +55,69 @@ GROUP(libtarget.a libgcc.a)
 #define FORCE_OUTPUT . = .
 
 
-#define SECTIONS_BEGIN
+# define SECTIONS_BEGIN
 
-#define SECTION_vectors(_region_, _vma_, _lma_)        \
-  .vectors _vma_ : _lma_                                              \
-  { FORCE_OUTPUT; KEEP(*(.vectors)) }         \
-  > _region_                                   \
+# define SECTION_vectors(_region_, _vma_, _lma_)		\
+  .vectors _vma_ : _lma_					\
+  { FORCE_OUTPUT; KEEP(*(.vectors))				\
+  }								\
+  > _region_							\
   __vector_code_lma = LOADADDR(.vectors);
 
-#define SECTION_text(_region_, _vma_, _lma_)           \
-  .text _vma_ : _lma_                                                 \
-  { __stext = .;       \
-    *(.text*) *(.gnu.warning) *(.gnu.linkonce*) *(.init) }      \
-  > _region_                                                    \
+# define SECTION_text(_region_, _vma_, _lma_)			\
+  .text _vma_ : _lma_						\
+  { __stext = .;						\
+    *(.text*) *(.gnu.warning) *(.gnu.linkonce*) *(.init) }	\
+  > _region_							\
   __etext = .;  PROVIDE (__etext = .);
 
-#define SECTION_fini(_region_, _vma_, _lma_)   \
-    .fini _vma_ : _lma_                                       \
-    { FORCE_OUTPUT; *(.fini) }        \
-    > _region_
+# define SECTION_data(_region_, _vma_, _lma_)			\
+    .data _vma_ : _lma_						\
+    { __ram_data_start = ABSOLUTE(.); *(.data*)			\
+     . = ALIGN(8); ___CTOR_LIST__ = ABSOLUTE(.);		\
+      KEEP(*(SORT(.ctors*))) ___CTOR_END__ = ABSOLUTE(.);	\
+    ___DTOR_LIST__ = ABSOLUTE(.);				\
+      KEEP(*(SORT(.dtors*))) ___DTOR_END__ = ABSOLUTE(.);	\
+    . = ALIGN(8);						\
+      KEEP(*( SORT (.ecos.table.*))) ;				\
+    } > _region_						\
+    __rom_data_start = LOADADDR(.data);				\
+    __ram_data_end = .; PROVIDE(__ram_data_end = .);		\
+    _edata = .; PROVIDE (edata = .);
 
-#define SECTION_rodata1(_region_, _vma_, _lma_)        \
-    .rodata1 _vma_ : _lma_                                            \
-    { FORCE_OUTPUT; *(.rodata1) }             \
-    > _region_
+
 
-#define SECTION_rodata(_region_, _vma_, _lma_) \
-    .rodata _vma_ : _lma_                                     \
-    { FORCE_OUTPUT; *(.rodata*) }     \
+#define SECTION_fini(_region_, _vma_, _lma_)	\
+    .fini _vma_ : _lma_				\
+    { FORCE_OUTPUT; *(.fini) }			\
     > _region_
 
-#define SECTION_fixup(_region_, _vma_, _lma_)                      \
-    .fixup _vma_ : _lma_                                                          \
-    { __FIXUP_START__ = ABSOLUTE(.); *(.fixup) __FIXUP_END__ = ABSOLUTE(.);}\
+#define SECTION_rodata1(_region_, _vma_, _lma_)	\
+    .rodata1 _vma_ : _lma_			\
+    { FORCE_OUTPUT; *(.rodata1) }		\
     > _region_
 
-#define SECTION_gcc_except_table(_region_, _vma_, _lma_)       \
-    .gcc_except_table _vma_ : _lma_                                           \
-    { __EXCEPT_START__ = ABSOLUTE(.); *(.gcc_except_table)              \
-      __EXCEPT_END__ = ABSOLUTE(.);}                                    \
+#define SECTION_rodata(_region_, _vma_, _lma_)	\
+    .rodata _vma_ : _lma_			\
+    { FORCE_OUTPUT; *(.rodata*) }		\
     > _region_
 
-#define SECTION_data(_region_, _vma_, _lma_)                                  \
-    .data _vma_ : _lma_                                                       \
-    { __ram_data_start = ABSOLUTE(.); *(.data*)                               \
-     . = ALIGN(8); ___CTOR_LIST__ = ABSOLUTE(.);                              \
-      KEEP(*(SORT(.ctors*))) ___CTOR_END__ = ABSOLUTE(.);                     \
-    ___DTOR_LIST__ = ABSOLUTE(.);                                             \
-      KEEP(*(SORT(.dtors*))) ___DTOR_END__ = ABSOLUTE(.);                     \
-    . = ALIGN(8);                                                             \
-      KEEP(*( SORT (.ecos.table.*))) ;                                        \
-    } > _region_                                                              \
-    __rom_data_start = LOADADDR(.data);                                       \
-    __ram_data_end = .; PROVIDE(__ram_data_end = .);                          \
-    _edata = .; PROVIDE (edata = .);
+#define SECTION_fixup(_region_, _vma_, _lma_)				     \
+    .fixup _vma_ : _lma_						     \
+    { __FIXUP_START__ = ABSOLUTE(.); *(.fixup) __FIXUP_END__ = ABSOLUTE(.);} \
+    > _region_
 
-#define SECTION_bss(_region_, _vma_, _lma_)                      \
-    .bss _vma_ : _lma_                                                          \
-    { __bss_start = ABSOLUTE (.);                       \
-      FORCE_OUTPUT; *(.dynbss) *(.bss) *(COMMON)        \
-      __bss_end = ABSOLUTE (.); }                       \
+#define SECTION_gcc_except_table(_region_, _vma_, _lma_)	\
+    .gcc_except_table _vma_ : _lma_				\
+    { __EXCEPT_START__ = ABSOLUTE(.); *(.gcc_except_table)	\
+      __EXCEPT_END__ = ABSOLUTE(.);}				\
+    > _region_
+
+#define SECTION_bss(_region_, _vma_, _lma_)		\
+    .bss _vma_ : _lma_					\
+    { __bss_start = ABSOLUTE (.);			\
+      FORCE_OUTPUT; *(.dynbss) *(.bss) *(COMMON)	\
+      __bss_end = ABSOLUTE (.); }			\
     > _region_
 
 #define SECTIONS_END . = ALIGN(4); _end = .; PROVIDE (end = .);