change log for rtems (2010-05-11)
rtems-vc at rtems.org
rtems-vc at rtems.org
Tue May 11 08:10:48 UTC 2010
*sh*:
2010-05-11 Sebastian Huber <sebastian.huber at embedded-brains.de>
* shared/startup/linkcmds.base: New file.
M 1.79 c/src/lib/libbsp/sparc/ChangeLog
A 1.1 c/src/lib/libbsp/sparc/shared/startup/linkcmds.base
diff -u rtems/c/src/lib/libbsp/sparc/ChangeLog:1.78 rtems/c/src/lib/libbsp/sparc/ChangeLog:1.79
--- rtems/c/src/lib/libbsp/sparc/ChangeLog:1.78 Wed Apr 7 08:57:30 2010
+++ rtems/c/src/lib/libbsp/sparc/ChangeLog Tue May 11 02:35:55 2010
@@ -1,3 +1,7 @@
+2010-05-11 Sebastian Huber <sebastian.huber at embedded-brains.de>
+
+ * shared/startup/linkcmds.base: New file.
+
2010-04-07 Ralf Corsépius <ralf.corsepius at rtems.org>
* shared/spw/grspw_rasta.c: Guard prototype of
diff -u /dev/null rtems/c/src/lib/libbsp/sparc/shared/startup/linkcmds.base:1.1
--- /dev/null Tue May 11 03:10:46 2010
+++ rtems/c/src/lib/libbsp/sparc/shared/startup/linkcmds.base Tue May 11 02:35:56 2010
@@ -0,0 +1,182 @@
+/* linkcmds
+ *
+ * $Id$
+ */
+
+OUTPUT_ARCH(sparc)
+__DYNAMIC = 0;
+
+/*
+ * The memory map looks like this:
+ * +--------------------+ <- low memory
+ * | .text |
+ * | etext |
+ * | ctor list | the ctor and dtor lists are for
+ * | dtor list | C++ support
+ * | _endtext |
+ * +--------------------+
+ * | .data | initialized data goes here
+ * | _sdata |
+ * | _edata |
+ * +--------------------+
+ * | .bss |
+ * | __bss_start | start of bss, cleared by crt0
+ * | _end | start of heap, used by sbrk()
+ * +--------------------+
+ * | heap space |
+ * | _ENDHEAP |
+ * | stack space |
+ * | __stack | top of stack
+ * +--------------------+ <- high memory
+ */
+
+_RAM_END = _RAM_START + _RAM_SIZE;
+
+_PROM_END = _PROM_START + _PROM_SIZE;
+
+/*
+ * Alternate names without leading _.
+ */
+
+PROM_START = _PROM_START;
+PROM_SIZE = _PROM_SIZE;
+PROM_END = _PROM_END;
+
+RAM_START = _RAM_START;
+RAM_SIZE = _RAM_SIZE;
+RAM_END = _RAM_END;
+
+/*
+ * SPARC monitor assumes this is present to provide proper RTEMS awareness.
+ */
+EXTERN(rtems_get_version_string);
+
+/*
+ * stick everything in ram (of course)
+ */
+SECTIONS
+{
+ .text :
+ {
+ CREATE_OBJECT_SYMBOLS
+ text_start = .;
+ _text_start = .;
+ *(.text*)
+ . = ALIGN (16);
+
+ /*
+ * Special FreeBSD sysctl sections.
+ */
+ . = ALIGN (16);
+ __start_set_sysctl_set = .;
+ *(set_sysctl_*);
+ __stop_set_sysctl_set = ABSOLUTE(.);
+ *(set_domain_*);
+ *(set_pseudo_*);
+
+ *(.eh_frame)
+ . = ALIGN (16);
+
+ *(.gnu.linkonce.t*)
+
+ /*
+ * C++ constructors
+ */
+ /* gcc uses crtbegin.o to find the start of
+ the constructors, so we make sure it is
+ first. Because this is a wildcard, it
+ doesn't matter if the user does not
+ actually link against crtbegin.o; the
+ linker won't look for a file to match a
+ wildcard. The wildcard also means that it
+ doesn't matter which directory crtbegin.o
+ is in. */
+ KEEP (*crtbegin.o(.ctors))
+ KEEP (*crtbegin?.o(.ctors))
+ /* We don't want to include the .ctor section from
+ the crtend.o file until after the sorted ctors.
+ The .ctor section from the crtend file contains the
+ end of ctors marker and it must be last */
+ KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
+ KEEP (*(SORT(.ctors.*)))
+ KEEP (*(.ctors))
+ KEEP (*crtbegin.o(.dtors))
+ KEEP (*crtbegin?.o(.dtors))
+ KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
+ KEEP (*(SORT(.dtors.*)))
+ KEEP (*(.dtors))
+
+ _rodata_start = . ;
+ *(.rodata*)
+ *(.gnu.linkonce.r*)
+ _erodata = ALIGN( 0x10 ) ;
+
+ etext = ALIGN(0x10);
+ _etext = .;
+ *(.init)
+ *(.fini)
+ *(.lit)
+ *(.shdata)
+ . = ALIGN (16);
+ _endtext = .;
+ } > ram
+ .rela.dyn :
+ {
+ *(.rela.init)
+ *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
+ *(.rela.fini)
+ *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
+ *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
+ *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
+ *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
+ *(.rela.ctors)
+ *(.rela.dtors)
+ *(.rela.got)
+ *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
+ } >ram
+ .data :
+ {
+ data_start = .;
+ _data_start = .;
+ _sdata = . ;
+ *(.data*)
+ *(.gnu.linkonce.d*)
+ *(.gcc_except_table*)
+ . = ALIGN(0x10);
+ edata = .;
+ _edata = .;
+ } > ram
+ .dynamic : { *(.dynamic) } >ram
+ .jcr : { *(.jcr) } >ram
+ .got : { *(.got) } >ram
+ .plt : { *(.plt) } >ram
+ .hash : { *(.hash) } >ram
+ .dynrel : { *(.dynrel) } >ram
+ .dynsym : { *(.dynsym) } >ram
+ .dynstr : { *(.dynstr) } >ram
+ .hash : { *(.hash) } >ram
+ .shbss :
+ {
+ *(.shbss)
+ } > ram
+ .bss :
+ {
+ __bss_start = ALIGN(0x8);
+ _bss_start = .;
+ bss_start = .;
+ *(.bss .bss* .gnu.linkonce.b*)
+ *(COMMON)
+ . = ALIGN (16);
+ end = .;
+ _end = ALIGN(0x8);
+ __end = ALIGN(0x8);
+ } > ram
+ .stab . (NOLOAD) :
+ {
+ [ .stab ]
+ }
+ .stabstr . (NOLOAD) :
+ {
+ [ .stabstr ]
+ }
+}
*sh*:
2010-05-11 Sebastian Huber <sebastian.huber at embedded-brains.de>
* startup/linkcmds: Include basic linker command file and define only
board specific values. Define RAM and PROM limits only if not defined
by command line arguments.
* Makefile.am, preinstall.am: Reflect changes above.
M 1.152 c/src/lib/libbsp/sparc/erc32/ChangeLog
M 1.51 c/src/lib/libbsp/sparc/erc32/Makefile.am
M 1.8 c/src/lib/libbsp/sparc/erc32/preinstall.am
M 1.23 c/src/lib/libbsp/sparc/erc32/startup/linkcmds
M 1.71 c/src/lib/libbsp/sparc/leon2/ChangeLog
M 1.24 c/src/lib/libbsp/sparc/leon2/Makefile.am
M 1.13 c/src/lib/libbsp/sparc/leon2/preinstall.am
M 1.11 c/src/lib/libbsp/sparc/leon2/startup/linkcmds
M 1.94 c/src/lib/libbsp/sparc/leon3/ChangeLog
M 1.27 c/src/lib/libbsp/sparc/leon3/Makefile.am
M 1.14 c/src/lib/libbsp/sparc/leon3/preinstall.am
M 1.11 c/src/lib/libbsp/sparc/leon3/startup/linkcmds
diff -u rtems/c/src/lib/libbsp/sparc/erc32/ChangeLog:1.151 rtems/c/src/lib/libbsp/sparc/erc32/ChangeLog:1.152
--- rtems/c/src/lib/libbsp/sparc/erc32/ChangeLog:1.151 Fri May 7 07:12:32 2010
+++ rtems/c/src/lib/libbsp/sparc/erc32/ChangeLog Tue May 11 02:40:38 2010
@@ -1,3 +1,10 @@
+2010-05-11 Sebastian Huber <sebastian.huber at embedded-brains.de>
+
+ * startup/linkcmds: Include basic linker command file and define only
+ board specific values. Define RAM and PROM limits only if not defined
+ by command line arguments.
+ * Makefile.am, preinstall.am: Reflect changes above.
+
2010-04-27 Tiemen Schut <T.Schut at sron.nl>
PR 1506/bsps
diff -u rtems/c/src/lib/libbsp/sparc/erc32/Makefile.am:1.50 rtems/c/src/lib/libbsp/sparc/erc32/Makefile.am:1.51
--- rtems/c/src/lib/libbsp/sparc/erc32/Makefile.am:1.50 Fri May 7 07:12:32 2010
+++ rtems/c/src/lib/libbsp/sparc/erc32/Makefile.am Tue May 11 02:40:39 2010
@@ -28,7 +28,7 @@
libbspstart_a_SOURCES = ../../sparc/shared/start.S
project_lib_DATA = start.$(OBJEXT)
-dist_project_lib_DATA += startup/linkcmds
+dist_project_lib_DATA += startup/linkcmds ../shared/startup/linkcmds.base
noinst_LIBRARIES += libbsp.a
libbsp_a_SOURCES =
diff -u rtems/c/src/lib/libbsp/sparc/erc32/preinstall.am:1.7 rtems/c/src/lib/libbsp/sparc/erc32/preinstall.am:1.8
--- rtems/c/src/lib/libbsp/sparc/erc32/preinstall.am:1.7 Thu Oct 2 11:38:15 2008
+++ rtems/c/src/lib/libbsp/sparc/erc32/preinstall.am Tue May 11 02:40:39 2010
@@ -69,3 +69,7 @@
$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds
PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds
+$(PROJECT_LIB)/linkcmds.base: ../shared/startup/linkcmds.base $(PROJECT_LIB)/$(dirstamp)
+ $(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.base
+PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.base
+
diff -u rtems/c/src/lib/libbsp/sparc/erc32/startup/linkcmds:1.22 rtems/c/src/lib/libbsp/sparc/erc32/startup/linkcmds:1.23
--- rtems/c/src/lib/libbsp/sparc/erc32/startup/linkcmds:1.22 Mon Mar 2 11:27:50 2009
+++ rtems/c/src/lib/libbsp/sparc/erc32/startup/linkcmds Tue May 11 02:40:39 2010
@@ -3,75 +3,20 @@
* $Id$
*/
-OUTPUT_ARCH(sparc)
-__DYNAMIC = 0;
-
-/*
- * The memory map looks like this:
- * +--------------------+ <- low memory
- * | .text |
- * | etext |
- * | ctor list | the ctor and dtor lists are for
- * | dtor list | C++ support
- * | _endtext |
- * +--------------------+
- * | .data | initialized data goes here
- * | _sdata |
- * | _edata |
- * +--------------------+
- * | .bss |
- * | __bss_start | start of bss, cleared by crt0
- * | _end | start of heap, used by sbrk()
- * +--------------------+
- * | heap space |
- * | _ENDHEAP |
- * | stack space |
- * | __stack | top of stack
- * +--------------------+ <- high memory
- */
-
-
-/*
- * User modifiable values:
- *
- * _CLOCK_SPEED in Mhz (used to program the counter/timers)
- *
- * _PROM_SIZE size of PROM (permissible values are 128K, 256K,
- * 512K, 1M, 2M, 4M, 8M and 16M)
- * _RAM_SIZE size of RAM (permissible values are 256K, 512K,
- * 1M, 2M, 4M, 8M, 16M, and 32M)
- *
- */
-
/* Default values, can be overridden */
-_PROM_SIZE = 2M;
-_RAM_SIZE = 4M;
-
-_RAM_START = 0x02000000;
-_RAM_END = _RAM_START + _RAM_SIZE;
-
-_PROM_START = 0x00000000;
-_PROM_END = _PROM_START + _PROM_SIZE;
+_PROM_SIZE = DEFINED (_PROM_SIZE) ? _PROM_SIZE : 2M;
+_PROM_START = DEFINED (_PROM_START) ? _PROM_START : 0x00000000;
-/*
- * Alternate names without leading _.
- */
-
-PROM_START = _PROM_START;
-PROM_SIZE = _PROM_SIZE;
-PROM_END = _PROM_END;
-
-RAM_START = _RAM_START;
-RAM_SIZE = _RAM_SIZE;
-RAM_END = _RAM_END;
+_RAM_SIZE = DEFINED (_RAM_SIZE) ? _RAM_SIZE : 4M;
+_RAM_START = DEFINED (_RAM_START) ? _RAM_START : 0x02000000;
/*
* Base address of the on-CPU peripherals
*/
_ERC32_MEC = 0x01f80000;
-ERC32_MEC = 0x01f80000;
+ERC32_MEC = _ERC32_MEC;
/* these are the maximum values */
@@ -81,137 +26,4 @@
ram : ORIGIN = 0x02000000, LENGTH = 32M
}
-/*
- * SPARC monitor assumes this is present to provide proper RTEMS awareness.
- */
-EXTERN(rtems_get_version_string);
-
-/*
- * stick everything in ram (of course)
- */
-SECTIONS
-{
- .text :
- {
- CREATE_OBJECT_SYMBOLS
- text_start = .;
- _text_start = .;
- *(.text*)
- . = ALIGN (16);
-
- /*
- * Special FreeBSD sysctl sections.
- */
- . = ALIGN (16);
- __start_set_sysctl_set = .;
- *(set_sysctl_*);
- __stop_set_sysctl_set = ABSOLUTE(.);
- *(set_domain_*);
- *(set_pseudo_*);
-
- *(.eh_frame)
- . = ALIGN (16);
-
- *(.gnu.linkonce.t*)
-
- /*
- * C++ constructors
- */
- /* gcc uses crtbegin.o to find the start of
- the constructors, so we make sure it is
- first. Because this is a wildcard, it
- doesn't matter if the user does not
- actually link against crtbegin.o; the
- linker won't look for a file to match a
- wildcard. The wildcard also means that it
- doesn't matter which directory crtbegin.o
- is in. */
- KEEP (*crtbegin.o(.ctors))
- KEEP (*crtbegin?.o(.ctors))
- /* We don't want to include the .ctor section from
- the crtend.o file until after the sorted ctors.
- The .ctor section from the crtend file contains the
- end of ctors marker and it must be last */
- KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
- KEEP (*(SORT(.ctors.*)))
- KEEP (*(.ctors))
- KEEP (*crtbegin.o(.dtors))
- KEEP (*crtbegin?.o(.dtors))
- KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
- KEEP (*(SORT(.dtors.*)))
- KEEP (*(.dtors))
-
- _rodata_start = . ;
- *(.rodata*)
- *(.gnu.linkonce.r*)
- _erodata = ALIGN( 0x10 ) ;
-
- etext = ALIGN(0x10);
- _etext = .;
- *(.init)
- *(.fini)
- *(.lit)
- *(.shdata)
- . = ALIGN (16);
- _endtext = .;
- } > ram
- .rela.dyn :
- {
- *(.rela.init)
- *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
- *(.rela.fini)
- *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
- *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
- *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
- *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
- *(.rela.ctors)
- *(.rela.dtors)
- *(.rela.got)
- *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
- } >ram
- .data :
- {
- data_start = .;
- _data_start = .;
- _sdata = . ;
- *(.data*)
- *(.gnu.linkonce.d*)
- *(.gcc_except_table*)
- . = ALIGN(0x10);
- edata = .;
- _edata = .;
- } > ram
- .dynamic : { *(.dynamic) } >ram
- .jcr : { *(.jcr) } >ram
- .got : { *(.got) } >ram
- .plt : { *(.plt) } >ram
- .hash : { *(.hash) } >ram
- .dynrel : { *(.dynrel) } >ram
- .dynsym : { *(.dynsym) } >ram
- .dynstr : { *(.dynstr) } >ram
- .hash : { *(.hash) } >ram
- .shbss :
- {
- *(.shbss)
- } > ram
- .bss :
- {
- __bss_start = ALIGN(0x8);
- _bss_start = .;
- bss_start = .;
- *(.bss .bss* .gnu.linkonce.b*)
- *(COMMON)
- . = ALIGN (16);
- end = .;
- _end = .;
- __end = .;
- } > ram
- .stab . (NOLOAD) :
- {
- [ .stab ]
- }
- .stabstr . (NOLOAD) :
- {
- [ .stabstr ]
- }
-}
+INCLUDE linkcmds.base
diff -u rtems/c/src/lib/libbsp/sparc/leon2/ChangeLog:1.70 rtems/c/src/lib/libbsp/sparc/leon2/ChangeLog:1.71
--- rtems/c/src/lib/libbsp/sparc/leon2/ChangeLog:1.70 Fri Dec 11 07:00:27 2009
+++ rtems/c/src/lib/libbsp/sparc/leon2/ChangeLog Tue May 11 02:40:59 2010
@@ -1,3 +1,10 @@
+2010-05-11 Sebastian Huber <sebastian.huber at embedded-brains.de>
+
+ * startup/linkcmds: Include basic linker command file and define only
+ board specific values. Define RAM and PROM limits only if not defined
+ by command line arguments.
+ * Makefile.am, preinstall.am: Reflect changes above.
+
2009-12-11 Ralf Corsépius <ralf.corsepius at rtems.org>
PR 1483/cpukit
diff -u rtems/c/src/lib/libbsp/sparc/leon2/Makefile.am:1.23 rtems/c/src/lib/libbsp/sparc/leon2/Makefile.am:1.24
--- rtems/c/src/lib/libbsp/sparc/leon2/Makefile.am:1.23 Mon Nov 23 14:09:58 2009
+++ rtems/c/src/lib/libbsp/sparc/leon2/Makefile.am Tue May 11 02:41:00 2010
@@ -48,7 +48,7 @@
libbspstart_a_SOURCES = ../../sparc/shared/start.S
project_lib_DATA = start.$(OBJEXT)
-dist_project_lib_DATA += startup/linkcmds
+dist_project_lib_DATA += startup/linkcmds ../shared/startup/linkcmds.base
noinst_LIBRARIES += libbsp.a
libbsp_a_SOURCES =
diff -u rtems/c/src/lib/libbsp/sparc/leon2/preinstall.am:1.12 rtems/c/src/lib/libbsp/sparc/leon2/preinstall.am:1.13
--- rtems/c/src/lib/libbsp/sparc/leon2/preinstall.am:1.12 Thu Oct 2 11:38:17 2008
+++ rtems/c/src/lib/libbsp/sparc/leon2/preinstall.am Tue May 11 02:41:00 2010
@@ -141,6 +141,10 @@
$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds
PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds
+$(PROJECT_LIB)/linkcmds.base: ../shared/startup/linkcmds.base $(PROJECT_LIB)/$(dirstamp)
+ $(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.base
+PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.base
+
$(PROJECT_INCLUDE)/i2cmst.h: ../../sparc/shared/include/i2cmst.h $(PROJECT_INCLUDE)/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/i2cmst.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/i2cmst.h
diff -u rtems/c/src/lib/libbsp/sparc/leon2/startup/linkcmds:1.10 rtems/c/src/lib/libbsp/sparc/leon2/startup/linkcmds:1.11
--- rtems/c/src/lib/libbsp/sparc/leon2/startup/linkcmds:1.10 Wed Mar 25 12:56:02 2009
+++ rtems/c/src/lib/libbsp/sparc/leon2/startup/linkcmds Tue May 11 02:41:00 2010
@@ -3,75 +3,20 @@
* $Id$
*/
-OUTPUT_ARCH(sparc)
-__DYNAMIC = 0;
-
-/*
- * The memory map looks like this:
- * +--------------------+ <- low memory
- * | .text |
- * | etext |
- * | ctor list | the ctor and dtor lists are for
- * | dtor list | C++ support
- * | _endtext |
- * +--------------------+
- * | .data | initialized data goes here
- * | _sdata |
- * | _edata |
- * +--------------------+
- * | .bss |
- * | __bss_start | start of bss, cleared by crt0
- * | _end | start of heap, used by sbrk()
- * +--------------------+
- * | heap space |
- * | _ENDHEAP |
- * | stack space |
- * | __stack | top of stack
- * +--------------------+ <- high memory
- */
-
-
-/*
- * User modifiable values:
- *
- * _CLOCK_SPEED in Mhz (used to program the counter/timers)
- *
- * _PROM_SIZE size of PROM (permissible values are 128K, 256K,
- * 512K, 1M, 2M, 4M, 8M and 16M)
- * _RAM_SIZE size of RAM (permissible values are 256K, 512K,
- * 1M, 2M, 4M, 8M, 16M, and 32M)
- *
- */
-
/* Default values, can be overridden */
-_PROM_SIZE = 2M;
-_RAM_SIZE = 4M;
-
-_RAM_START = 0x40000000;
-_RAM_END = _RAM_START + _RAM_SIZE;
-
-_PROM_START = 0x00000000;
-_PROM_END = _PROM_START + _PROM_SIZE;
+_PROM_SIZE = DEFINED (_PROM_SIZE) ? _PROM_SIZE : 2M;
+_PROM_START = DEFINED (_PROM_START) ? _PROM_START : 0x00000000;
-/*
- * Alternate names without leading _.
- */
-
-PROM_START = _PROM_START;
-PROM_SIZE = _PROM_SIZE;
-PROM_END = _PROM_END;
-
-RAM_START = _RAM_START;
-RAM_SIZE = _RAM_SIZE;
-RAM_END = _RAM_END;
+_RAM_SIZE = DEFINED (_RAM_SIZE) ? _RAM_SIZE : 4M;
+_RAM_START = DEFINED (_RAM_START) ? _RAM_START : 0x40000000;
/*
* Base address of the on-CPU peripherals
*/
_LEON_REG = 0x80000000;
-LEON_REG = 0x80000000;
+LEON_REG = _LEON_REG;
/* these are the maximum values */
@@ -81,137 +26,4 @@
ram : ORIGIN = 0x40000000, LENGTH = 1024M
}
-/*
- * SPARC monitor assumes this is present to provide proper RTEMS awareness.
- */
-EXTERN(rtems_get_version_string);
-
-/*
- * stick everything in ram (of course)
- */
-SECTIONS
-{
- .text :
- {
- CREATE_OBJECT_SYMBOLS
- text_start = .;
- _text_start = .;
- *(.text*)
- . = ALIGN (16);
-
- /*
- * Special FreeBSD sysctl sections.
- */
- . = ALIGN (16);
- __start_set_sysctl_set = .;
- *(set_sysctl_*);
- __stop_set_sysctl_set = ABSOLUTE(.);
- *(set_domain_*);
- *(set_pseudo_*);
-
- *(.eh_frame)
- . = ALIGN (16);
-
- *(.gnu.linkonce.t*)
-
- /*
- * C++ constructors
- */
- /* gcc uses crtbegin.o to find the start of
- the constructors, so we make sure it is
- first. Because this is a wildcard, it
- doesn't matter if the user does not
- actually link against crtbegin.o; the
- linker won't look for a file to match a
- wildcard. The wildcard also means that it
- doesn't matter which directory crtbegin.o
- is in. */
- KEEP (*crtbegin.o(.ctors))
- KEEP (*crtbegin?.o(.ctors))
- /* We don't want to include the .ctor section from
- the crtend.o file until after the sorted ctors.
- The .ctor section from the crtend file contains the
- end of ctors marker and it must be last */
- KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
- KEEP (*(SORT(.ctors.*)))
- KEEP (*(.ctors))
- KEEP (*crtbegin.o(.dtors))
- KEEP (*crtbegin?.o(.dtors))
- KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
- KEEP (*(SORT(.dtors.*)))
- KEEP (*(.dtors))
-
- _rodata_start = . ;
- *(.rodata*)
- *(.gnu.linkonce.r*)
- _erodata = ALIGN( 0x10 ) ;
-
- etext = ALIGN(0x10);
- _etext = .;
- *(.init)
- *(.fini)
- *(.lit)
- *(.shdata)
- . = ALIGN (16);
- _endtext = .;
- } > ram
- .rela.dyn :
- {
- *(.rela.init)
- *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
- *(.rela.fini)
- *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
- *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
- *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
- *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
- *(.rela.ctors)
- *(.rela.dtors)
- *(.rela.got)
- *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
- } >ram
- .data :
- {
- data_start = .;
- _data_start = .;
- _sdata = . ;
- *(.data*)
- *(.gnu.linkonce.d*)
- *(.gcc_except_table*)
- . = ALIGN(0x10);
- edata = .;
- _edata = .;
- } > ram
- .dynamic : { *(.dynamic) } >ram
- .jcr : { *(.jcr) } >ram
- .got : { *(.got) } >ram
- .plt : { *(.plt) } >ram
- .hash : { *(.hash) } >ram
- .dynrel : { *(.dynrel) } >ram
- .dynsym : { *(.dynsym) } >ram
- .dynstr : { *(.dynstr) } >ram
- .hash : { *(.hash) } >ram
- .shbss :
- {
- *(.shbss)
- } > ram
- .bss :
- {
- __bss_start = ALIGN(0x8);
- _bss_start = .;
- bss_start = .;
- *(.bss .bss* .gnu.linkonce.b*)
- *(COMMON)
- . = ALIGN (16);
- end = .;
- _end = ALIGN(0x8);
- __end = ALIGN(0x8);
- } > ram
- .stab . (NOLOAD) :
- {
- [ .stab ]
- }
- .stabstr . (NOLOAD) :
- {
- [ .stabstr ]
- }
-}
+INCLUDE linkcmds.base
diff -u rtems/c/src/lib/libbsp/sparc/leon3/ChangeLog:1.93 rtems/c/src/lib/libbsp/sparc/leon3/ChangeLog:1.94
--- rtems/c/src/lib/libbsp/sparc/leon3/ChangeLog:1.93 Fri Dec 11 06:59:43 2009
+++ rtems/c/src/lib/libbsp/sparc/leon3/ChangeLog Tue May 11 02:41:21 2010
@@ -1,3 +1,10 @@
+2010-05-11 Sebastian Huber <sebastian.huber at embedded-brains.de>
+
+ * startup/linkcmds: Include basic linker command file and define only
+ board specific values. Define RAM and PROM limits only if not defined
+ by command line arguments.
+ * Makefile.am, preinstall.am: Reflect changes above.
+
2009-12-11 Ralf Corsépius <ralf.corsepius at rtems.org>
PR 1483/cpukit
diff -u rtems/c/src/lib/libbsp/sparc/leon3/Makefile.am:1.26 rtems/c/src/lib/libbsp/sparc/leon3/Makefile.am:1.27
--- rtems/c/src/lib/libbsp/sparc/leon3/Makefile.am:1.26 Mon Nov 23 14:09:22 2009
+++ rtems/c/src/lib/libbsp/sparc/leon3/Makefile.am Tue May 11 02:41:22 2010
@@ -31,7 +31,7 @@
libbspstart_a_SOURCES = ../../sparc/shared/start.S
project_lib_DATA = start.$(OBJEXT)
-dist_project_lib_DATA += startup/linkcmds
+dist_project_lib_DATA += startup/linkcmds ../shared/startup/linkcmds.base
noinst_LIBRARIES += libbsp.a
libbsp_a_SOURCES =
diff -u rtems/c/src/lib/libbsp/sparc/leon3/preinstall.am:1.13 rtems/c/src/lib/libbsp/sparc/leon3/preinstall.am:1.14
--- rtems/c/src/lib/libbsp/sparc/leon3/preinstall.am:1.13 Thu Oct 2 11:38:18 2008
+++ rtems/c/src/lib/libbsp/sparc/leon3/preinstall.am Tue May 11 02:41:23 2010
@@ -73,6 +73,10 @@
$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds
PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds
+$(PROJECT_LIB)/linkcmds.base: ../shared/startup/linkcmds.base $(PROJECT_LIB)/$(dirstamp)
+ $(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.base
+PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.base
+
$(PROJECT_INCLUDE)/amba.h: include/amba.h $(PROJECT_INCLUDE)/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/amba.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/amba.h
diff -u rtems/c/src/lib/libbsp/sparc/leon3/startup/linkcmds:1.10 rtems/c/src/lib/libbsp/sparc/leon3/startup/linkcmds:1.11
--- rtems/c/src/lib/libbsp/sparc/leon3/startup/linkcmds:1.10 Wed Mar 25 12:56:04 2009
+++ rtems/c/src/lib/libbsp/sparc/leon3/startup/linkcmds Tue May 11 02:41:23 2010
@@ -3,75 +3,20 @@
* $Id$
*/
-OUTPUT_ARCH(sparc)
-__DYNAMIC = 0;
-
-/*
- * The memory map looks like this:
- * +--------------------+ <- low memory
- * | .text |
- * | etext |
- * | ctor list | the ctor and dtor lists are for
- * | dtor list | C++ support
- * | _endtext |
- * +--------------------+
- * | .data | initialized data goes here
- * | _sdata |
- * | _edata |
- * +--------------------+
- * | .bss |
- * | __bss_start | start of bss, cleared by crt0
- * | _end | start of heap, used by sbrk()
- * +--------------------+
- * | heap space |
- * | _ENDHEAP |
- * | stack space |
- * | __stack | top of stack
- * +--------------------+ <- high memory
- */
-
-
-/*
- * User modifiable values:
- *
- * _CLOCK_SPEED in Mhz (used to program the counter/timers)
- *
- * _PROM_SIZE size of PROM (permissible values are 128K, 256K,
- * 512K, 1M, 2M, 4M, 8M and 16M)
- * _RAM_SIZE size of RAM (permissible values are 256K, 512K,
- * 1M, 2M, 4M, 8M, 16M, and 32M)
- *
- */
-
/* Default values, can be overridden */
-_PROM_SIZE = 2M;
-_RAM_SIZE = 4M;
-
-_RAM_START = 0x40000000;
-_RAM_END = _RAM_START + _RAM_SIZE;
-
-_PROM_START = 0x00000000;
-_PROM_END = _PROM_START + _PROM_SIZE;
+_PROM_SIZE = DEFINED (_PROM_SIZE) ? _PROM_SIZE : 2M;
+_PROM_START = DEFINED (_PROM_START) ? _PROM_START : 0x00000000;
-/*
- * Alternate names without leading _.
- */
-
-PROM_START = _PROM_START;
-PROM_SIZE = _PROM_SIZE;
-PROM_END = _PROM_END;
-
-RAM_START = _RAM_START;
-RAM_SIZE = _RAM_SIZE;
-RAM_END = _RAM_END;
+_RAM_SIZE = DEFINED (_RAM_SIZE) ? _RAM_SIZE : 4M;
+_RAM_START = DEFINED (_RAM_START) ? _RAM_START : 0x40000000;
/*
* Base address of the on-CPU peripherals
*/
_LEON_REG = 0x80000000;
-LEON_REG = 0x80000000;
+LEON_REG = _LEON_REG;
/* these are the maximum values */
@@ -81,137 +26,4 @@
ram : ORIGIN = 0x40000000, LENGTH = 1024M
}
-/*
- * SPARC monitor assumes this is present to provide proper RTEMS awareness.
- */
-EXTERN(rtems_get_version_string);
-
-/*
- * stick everything in ram (of course)
- */
-SECTIONS
-{
- .text :
- {
- CREATE_OBJECT_SYMBOLS
- text_start = .;
- _text_start = .;
- *(.text*)
- . = ALIGN (16);
-
- /*
- * Special FreeBSD sysctl sections.
- */
- . = ALIGN (16);
- __start_set_sysctl_set = .;
- *(set_sysctl_*);
- __stop_set_sysctl_set = ABSOLUTE(.);
- *(set_domain_*);
- *(set_pseudo_*);
-
- *(.eh_frame)
- . = ALIGN (16);
-
- *(.gnu.linkonce.t*)
-
- /*
- * C++ constructors
- */
- /* gcc uses crtbegin.o to find the start of
- the constructors, so we make sure it is
- first. Because this is a wildcard, it
- doesn't matter if the user does not
- actually link against crtbegin.o; the
- linker won't look for a file to match a
- wildcard. The wildcard also means that it
- doesn't matter which directory crtbegin.o
- is in. */
- KEEP (*crtbegin.o(.ctors))
- KEEP (*crtbegin?.o(.ctors))
- /* We don't want to include the .ctor section from
- the crtend.o file until after the sorted ctors.
- The .ctor section from the crtend file contains the
- end of ctors marker and it must be last */
- KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors))
- KEEP (*(SORT(.ctors.*)))
- KEEP (*(.ctors))
- KEEP (*crtbegin.o(.dtors))
- KEEP (*crtbegin?.o(.dtors))
- KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors))
- KEEP (*(SORT(.dtors.*)))
- KEEP (*(.dtors))
-
- _rodata_start = . ;
- *(.rodata*)
- *(.gnu.linkonce.r*)
- _erodata = ALIGN( 0x10 ) ;
-
- etext = ALIGN(0x10);
- _etext = .;
- *(.init)
- *(.fini)
- *(.lit)
- *(.shdata)
- . = ALIGN (16);
- _endtext = .;
- } > ram
- .rela.dyn :
- {
- *(.rela.init)
- *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
- *(.rela.fini)
- *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
- *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
- *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
- *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
- *(.rela.ctors)
- *(.rela.dtors)
- *(.rela.got)
- *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
- } >ram
- .data :
- {
- data_start = .;
- _data_start = .;
- _sdata = . ;
- *(.data*)
- *(.gnu.linkonce.d*)
- *(.gcc_except_table*)
- . = ALIGN(0x10);
- edata = .;
- _edata = .;
- } > ram
- .dynamic : { *(.dynamic) } >ram
- .jcr : { *(.jcr) } >ram
- .got : { *(.got) } >ram
- .plt : { *(.plt) } >ram
- .hash : { *(.hash) } >ram
- .dynrel : { *(.dynrel) } >ram
- .dynsym : { *(.dynsym) } >ram
- .dynstr : { *(.dynstr) } >ram
- .hash : { *(.hash) } >ram
- .shbss :
- {
- *(.shbss)
- } > ram
- .bss :
- {
- __bss_start = ALIGN(0x8);
- _bss_start = .;
- bss_start = .;
- *(.bss .bss* .gnu.linkonce.b*)
- *(COMMON)
- . = ALIGN (16);
- end = .;
- _end = ALIGN(0x8);
- __end = ALIGN(0x8);
- } > ram
- .stab . (NOLOAD) :
- {
- [ .stab ]
- }
- .stabstr . (NOLOAD) :
- {
- [ .stabstr ]
- }
-}
+INCLUDE linkcmds.base
--
Generated by Deluxe Loginfo [http://www.codewiz.org/projects/index.html#loginfo] 2.122 by Bernardo Innocenti <bernie at develer.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/vc/attachments/20100511/006f7a98/attachment.html>
More information about the vc
mailing list