mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-05 15:15:44 +00:00
2003-03-18 Till Straumann <strauman@slac.stanford.edu>
PR 356/bsps This patch makes RTEMS/powerpc/shared EABI compliant. * irq/irq_init.c, start/Makefile.am, start/start.S, startup/bspstart.c, startup/pgtbl_setup.c, vectors/vectors.h, vectors/vectors_init.c: zero_bss() should clear not only bss but sbss and sbss2 also (this is probably a bugfix, as sbss/sbss2 are probably used even if -msdata=eabi is not specified). * start/rtems_crti.S: New file which must be linked immediately after ecrti.o. rtems_crti.o contains a code snippet who lets __init() return immediately. Also, a new entry point '_init' to the C++ Ctors is generated for use by the RTEMS Thread_Handler.
This commit is contained in:
@@ -50,14 +50,14 @@ unsigned ldPtSize,tmp;
|
||||
/* get those from the linker script.
|
||||
* NOTE THAT THE CORRECTNESS OF THE LINKER SCRIPT IS CRUCIAL
|
||||
*/
|
||||
extern unsigned long __DATA_START__, _etext;
|
||||
extern unsigned long __DATA_START__[], _etext[];
|
||||
|
||||
/* map text and RO data read-only */
|
||||
tmp = triv121PgTblMap(
|
||||
pt,
|
||||
TRIV121_121_VSID,
|
||||
0,
|
||||
(PAGE_ALIGN((unsigned long)&_etext) - 0) >> PG_SHIFT,
|
||||
(PAGE_ALIGN((unsigned long)_etext) - 0) >> PG_SHIFT,
|
||||
0, /* WIMG */
|
||||
TRIV121_PP_RO_PAGE);
|
||||
if (TRIV121_MAP_SUCCESS != tmp) {
|
||||
@@ -69,8 +69,8 @@ unsigned ldPtSize,tmp;
|
||||
tmp = triv121PgTblMap(
|
||||
pt,
|
||||
TRIV121_121_VSID,
|
||||
(unsigned long)&__DATA_START__,
|
||||
(*pmemsize - (1<<ldPtSize) - (unsigned long)&__DATA_START__ )>> PG_SHIFT,
|
||||
(unsigned long)__DATA_START__,
|
||||
(*pmemsize - (1<<ldPtSize) - (unsigned long)__DATA_START__ )>> PG_SHIFT,
|
||||
0, /* WIMG */
|
||||
TRIV121_PP_RW_PAGE);
|
||||
if (TRIV121_MAP_SUCCESS != tmp) {
|
||||
|
||||
Reference in New Issue
Block a user