forked from Imagelibrary/rtems
Patch from Rosimildo DaSilva <rdasilva@connecttel.com> to make C++
exceptions work on the pc386 BSP with i386-elf. This patch also included changes to the i386-rtemself egcs configuration.
This commit is contained in:
@@ -7,6 +7,9 @@
|
||||
*cpp:
|
||||
%(old_cpp) %{qrtems: -D__embedded__} -Asystem(embedded)
|
||||
|
||||
*endfile:
|
||||
crtend.o%s crtn.o%s
|
||||
|
||||
*lib:
|
||||
%{!qrtems: %(old_lib)} %{qrtems: --start-group \
|
||||
%{!qrtems_debug: -lrtemsall} %{qrtems_debug: -lrtemsall_g} \
|
||||
@@ -15,7 +18,7 @@
|
||||
|
||||
*startfile:
|
||||
%{!qrtems: %(old_startfile)} %{qrtems: \
|
||||
%{!qrtems_debug: start.o%s} \
|
||||
%{!qrtems_debug: start.o%s crti.o%s crtbegin.o%s} \
|
||||
%{qrtems_debug: start_g.o%s}}
|
||||
|
||||
*link:
|
||||
|
||||
@@ -39,7 +39,9 @@ include $(RTEMS_ROOT)/make/leaf.cfg
|
||||
# (OPTIONAL) Add local stuff here using +=
|
||||
#
|
||||
|
||||
DEFINES +=
|
||||
# USE_INIT_FINI tells main.c what C++ help we need.
|
||||
|
||||
DEFINES += -DUSE_INIT_FINI
|
||||
CPPFLAGS +=
|
||||
CFLAGS +=
|
||||
|
||||
|
||||
@@ -67,7 +67,12 @@ SECTIONS
|
||||
|
||||
_etext = ALIGN( 0x10 ) ;
|
||||
}
|
||||
.data ADDR( .text ) + SIZEOF( .text ):
|
||||
.init :
|
||||
{ *( .init ) } = 0x9090
|
||||
.fini :
|
||||
{ *( .fini ) } = 0x9090
|
||||
|
||||
.data ADDR( .fini ) + SIZEOF( .fini ):
|
||||
{
|
||||
_data_start = . ;
|
||||
*(.data)
|
||||
|
||||
@@ -28,6 +28,11 @@ extern rtems_configuration_table Configuration;
|
||||
extern rtems_configuration_table BSP_Configuration;
|
||||
extern rtems_cpu_table Cpu_table;
|
||||
|
||||
#if defined(USE_INIT_FINI)
|
||||
extern void _fini( void );
|
||||
extern void _init( void );
|
||||
#endif
|
||||
|
||||
rtems_interrupt_level bsp_isr_level;
|
||||
|
||||
/*
|
||||
@@ -82,6 +87,11 @@ int boot_card(int argc, char **argv)
|
||||
* are any.
|
||||
*/
|
||||
|
||||
#if defined(USE_INIT_FINI)
|
||||
atexit( _fini );
|
||||
_init();
|
||||
#endif
|
||||
|
||||
status = main(argc, argv);
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user