Move main bootstrap to platform-specific object

To prevent multiple execution of main-bootstrap, I moved the code to a
statically initialized object. The reason for this change is that
_main() is exeuted twice when starting dynamic binaries. Now, the object
is part of the base-common library which is linked with ld.lib.so.
This commit is contained in:
Christian Helmuth
2013-09-10 14:33:14 +02:00
parent 4556a9e353
commit f763e5ec2a
19 changed files with 191 additions and 155 deletions

View File

@ -6,7 +6,7 @@
LIBS += cxx l4 startup
SRC_CC += cap_copy.cc
SRC_CC += cap_copy.cc main_bootstrap.cc
SRC_CC += ipc/ipc.cc ipc/pager.cc ipc/ipc_marshal_cap.cc
SRC_CC += pager/pager.cc
SRC_CC += avl_tree/avl_tree.cc
@ -28,6 +28,7 @@ INC_DIR += $(REP_DIR)/src/base/lock
INC_DIR += $(BASE_DIR)/src/base/thread
INC_DIR += $(REP_DIR)/include/codezero/dummies
vpath cap_copy.cc $(BASE_DIR)/src/platform
vpath %.cc $(REP_DIR)/src/base
vpath %.cc $(BASE_DIR)/src/base
vpath main_bootstrap.cc $(REP_DIR)/src/platform
vpath cap_copy.cc $(BASE_DIR)/src/platform
vpath %.cc $(REP_DIR)/src/base
vpath %.cc $(BASE_DIR)/src/base