mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-09-22 14:25:56 +08:00
2002-12-08 Greg Menke <gregory.menke@gsfc.nasa.gov>
* bsp_specs: Added crtbegin/crtend and INIT_FINI for C++ support. * linkcmds: Added .init, .fini & related sections.
This commit is contained in:
@@ -1,3 +1,8 @@
|
||||
2002-12-08 Greg Menke <gregory.menke@gsfc.nasa.gov>
|
||||
|
||||
* bsp_specs: Added crtbegin/crtend and INIT_FINI for C++ support.
|
||||
* linkcmds: Added .init, .fini & related sections.
|
||||
|
||||
2002-12-14 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* clock/Makefile.am: Don't include @RTEMS_BSP@.cfg.
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
%rename link old_link
|
||||
|
||||
*cpp:
|
||||
%(old_cpp) %{qrtems: -D__embedded__} -Asystem(embedded)
|
||||
%(old_cpp) %{qrtems: -D__embedded__ -D__USE_INIT_FINI__ } -Asystem(embedded)
|
||||
|
||||
*lib:
|
||||
%{!qrtems: %(old_lib)} %{!nostdlib: %{qrtems: --start-group \
|
||||
@@ -15,9 +15,12 @@
|
||||
|
||||
*startfile:
|
||||
%{!qrtems: %(old_startfile)} %{!nostdlib: %{qrtems: \
|
||||
%{!qnostartfile: %{!qrtems_debug: start.o%s} \
|
||||
%{qrtems_debug: start_g.o%s}}}}
|
||||
%{!qnostartfile: %{!qrtems_debug: start.o%s} \
|
||||
%{qrtems_debug: start_g.o%s}} crti.o%s crtbegin.o%s }}
|
||||
|
||||
*link:
|
||||
%(old_link) %{!qrtems: %(old_link)} %{qrtems: -dc -dp -N -e _start}
|
||||
|
||||
*endfile:
|
||||
%{!qrtems: %(old_endfile)} %{qrtems: crtend.o%s crtn.o%s }
|
||||
|
||||
|
||||
@@ -411,9 +411,9 @@ zerobss:
|
||||
** Function: _init
|
||||
*/
|
||||
.globl exit .text
|
||||
.globl _init
|
||||
.ent _init
|
||||
_init:
|
||||
.globl _initialize_rtems
|
||||
.ent _initialize_rtems
|
||||
_initialize_rtems:
|
||||
|
||||
/*
|
||||
** Print 'i'. Starting to initialize RTEMS.
|
||||
@@ -445,7 +445,7 @@ _init:
|
||||
*/
|
||||
jal _sys_exit
|
||||
nop
|
||||
.end _init
|
||||
.end _initialize_rtems
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
@@ -578,7 +578,10 @@ _cpuinit:
|
||||
# INV = 0: 1 : Disable invalidate mode
|
||||
# LOCK = 0: 0 : Disable cache lock
|
||||
#
|
||||
li t0,0x00027AA0
|
||||
# 0x00027AA0 caches on
|
||||
# 0x00027220 caches off
|
||||
#
|
||||
li t0,0x00027aa0
|
||||
sw t0,M_BIU
|
||||
|
||||
#
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
_RamBase = DEFINED(_RamBase) ? _RamBase : 0x80000000;
|
||||
_RamSize = DEFINED(_RamSize) ? _RamSize : 32M;
|
||||
HeapSize = DEFINED(HeapSize) ? HeapSize : 0x40000;
|
||||
_StackSize = DEFINED(_StackSize) ? _StackSize : 0x1000;
|
||||
_StackSize = DEFINED(_StackSize) ? _StackSize : 0x4000;
|
||||
ClockRate = DEFINED(ClockRate) ? ClockRate : 12000000;
|
||||
|
||||
|
||||
@@ -29,11 +29,11 @@ SECTIONS
|
||||
.text :
|
||||
{
|
||||
_ftext = . ;
|
||||
*(.init)
|
||||
eprol = .;
|
||||
|
||||
*/start.o(.text)
|
||||
|
||||
*(.text)
|
||||
*(.text.*)
|
||||
*(.eh_frame)
|
||||
*(.gnu.linkonce.t*)
|
||||
*(.mips16.fn.*)
|
||||
*(.mips16.call.*)
|
||||
@@ -41,10 +41,25 @@ SECTIONS
|
||||
*(.rel.sdata)
|
||||
*(.rel.dyn)
|
||||
PROVIDE (__runtime_reloc_stop = .);
|
||||
*(.fini)
|
||||
|
||||
*(.gcc_except_table)
|
||||
*(.eh_frame_hdr)
|
||||
*(.eh_frame)
|
||||
} >ram
|
||||
|
||||
.init :
|
||||
{
|
||||
KEEP(*(.init))
|
||||
|
||||
} > ram
|
||||
|
||||
.fini :
|
||||
{
|
||||
KEEP(*(.fini))
|
||||
|
||||
} > ram
|
||||
|
||||
|
||||
.ctors :
|
||||
{
|
||||
/* gcc uses crtbegin.o to find the start of
|
||||
@@ -99,13 +114,17 @@ SECTIONS
|
||||
*(.gnu.linkonce.d*)
|
||||
} >ram
|
||||
|
||||
.jcr :
|
||||
{
|
||||
. = ALIGN(8);
|
||||
KEEP (*(.jcr))
|
||||
|
||||
_gp = ALIGN(16) + 0x7440;
|
||||
__global = _gp;
|
||||
} >ram
|
||||
|
||||
.lit8 :
|
||||
{
|
||||
. = ALIGN(8);
|
||||
|
||||
_gp = . + 0x8000;
|
||||
__global = _gp;
|
||||
*(.lit8)
|
||||
} >ram
|
||||
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
2002-12-08 Greg Menke <gregory.menke@gsfc.nasa.gov>
|
||||
|
||||
* bsp_specs: Added crtbegin/crtend and INIT_FINI for C++ support.
|
||||
* linkcmds: Added .init, .fini & related sections.
|
||||
|
||||
2002-12-14 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* clock/Makefile.am: Don't include @RTEMS_BSP@.cfg.
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
%rename link old_link
|
||||
|
||||
*cpp:
|
||||
%(old_cpp) %{qrtems: -D__embedded__} -Asystem(embedded)
|
||||
%(old_cpp) %{qrtems: -D__embedded__ -D__USE_INIT_FINI__} -Asystem(embedded)
|
||||
|
||||
*lib:
|
||||
%{!qrtems: %(old_lib)} %{!nostdlibs: %{qrtems: --start-group \
|
||||
@@ -16,9 +16,11 @@
|
||||
|
||||
*startfile:
|
||||
%{!qrtems: %(old_startfile)} %{!nostdlibs: %{qrtems: \
|
||||
%{!qrtems_debug: start.o%s} \
|
||||
%{qrtems_debug: start_g.o%s}}}
|
||||
%{!qrtems_debug: start.o%s} \
|
||||
%{qrtems_debug: start_g.o%s} crti.o%s crtbegin.o%s }}
|
||||
|
||||
*link:
|
||||
%(old_link) %{!qrtems: %(old_link)} %{qrtems: -dc -dp -N -e _start}
|
||||
|
||||
*endfile:
|
||||
%{!qrtems: %(old_endfile)} %{qrtems: crtend.o%s crtn.o%s }
|
||||
|
||||
@@ -22,16 +22,27 @@ SECTIONS
|
||||
*(.text)
|
||||
*(.text.*)
|
||||
*(.gnu.linkonce.t*)
|
||||
*(.init)
|
||||
*(.mips16.fn.*)
|
||||
*(.mips16.call.*)
|
||||
PROVIDE (__runtime_reloc_start = .);
|
||||
*(.rel.sdata)
|
||||
PROVIDE (__runtime_reloc_stop = .);
|
||||
*(.fini)
|
||||
etext = .;
|
||||
_etext = .;
|
||||
}
|
||||
|
||||
*(.gcc_except_table)
|
||||
*(.eh_frame_hdr)
|
||||
*(.eh_frame)
|
||||
}
|
||||
|
||||
.init :
|
||||
{
|
||||
KEEP(*(.init))
|
||||
}
|
||||
|
||||
.fini :
|
||||
{
|
||||
KEEP(*(.fini))
|
||||
}
|
||||
|
||||
.ctors :
|
||||
{
|
||||
/* gcc uses crtbegin.o to find the start of
|
||||
@@ -62,9 +73,11 @@ SECTIONS
|
||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
|
||||
KEEP (*(SORT(.dtors.*)))
|
||||
KEEP (*(.dtors))
|
||||
|
||||
etext = .;
|
||||
_etext = .;
|
||||
}
|
||||
|
||||
. = .;
|
||||
.rdata : {
|
||||
*(.rdata)
|
||||
*(.rodata)
|
||||
@@ -72,30 +85,38 @@ SECTIONS
|
||||
*(.gnu.linkonce.r*)
|
||||
}
|
||||
_fdata = ALIGN(16);
|
||||
|
||||
.data : {
|
||||
*(.data)
|
||||
*(.data.*)
|
||||
*(.gnu.linkonce.d*)
|
||||
SORT(CONSTRUCTORS)
|
||||
SORT(CONSTRUCTORS)
|
||||
}
|
||||
. = ALIGN(8);
|
||||
_gp = . + 0x8000;
|
||||
|
||||
.jcr : {
|
||||
KEEP (*(.jcr))
|
||||
}
|
||||
|
||||
_gp = ALIGN(16) + 0x7440;
|
||||
__global = _gp;
|
||||
|
||||
.sdata : {
|
||||
*(.sdata)
|
||||
*(.sdata.*)
|
||||
*(.gnu.linkonce.s*)
|
||||
}
|
||||
.lit8 : {
|
||||
*(.lit8)
|
||||
}
|
||||
.lit4 : {
|
||||
*(.lit4)
|
||||
}
|
||||
.sdata : {
|
||||
*(.sdata)
|
||||
*(.sdata.*)
|
||||
*(.gnu.linkonce.s*)
|
||||
}
|
||||
. = ALIGN(4);
|
||||
|
||||
edata = .;
|
||||
_edata = .;
|
||||
_fbss = .;
|
||||
|
||||
.sbss : {
|
||||
*(.sbss)
|
||||
*(.scommon)
|
||||
|
||||
Reference in New Issue
Block a user