From 2727be6cd459978976b1e7a50e8aeb69cdce7190 Mon Sep 17 00:00:00 2001 From: Kostyantyn Vorobyov <kostyantyn.vorobyov@cea.fr> Date: Thu, 18 May 2017 17:43:25 +0200 Subject: [PATCH] Track main function --- .../share/e-acsl/segment_model/e_acsl_segment_mmodel.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/plugins/e-acsl/share/e-acsl/segment_model/e_acsl_segment_mmodel.c b/src/plugins/e-acsl/share/e-acsl/segment_model/e_acsl_segment_mmodel.c index 0c227bb64ec..185e1f83954 100644 --- a/src/plugins/e-acsl/share/e-acsl/segment_model/e_acsl_segment_mmodel.c +++ b/src/plugins/e-acsl/share/e-acsl/segment_model/e_acsl_segment_mmodel.c @@ -160,6 +160,8 @@ static void argv_alloca(int *argc_ref, char *** argv_ref) { /* }}} */ /* Program initialization {{{ */ +extern int main(void); + static void memory_init(int *argc_ref, char *** argv_ref, size_t ptr_size) { describe_run(); /** Verify that the given size of a pointer matches the one in the present @@ -178,6 +180,9 @@ static void memory_init(int *argc_ref, char *** argv_ref, size_t ptr_size) { /* Track program arguments. */ if (argc_ref && argv_ref) argv_alloca(argc_ref, argv_ref); + /* Track main function */ + shadow_alloca(&main, sizeof(&main)); + initialize_static_region((uintptr_t)&main, sizeof(&main)); /* Tracking safe locations */ collect_safe_locations(); int i; -- GitLab