Gabriel Corona [Tue, 25 Mar 2014 11:11:15 +0000 (12:11 +0100)]
[mc] Handle DW_AT_high_pc as offset for DWARF4
Gabriel Corona [Tue, 25 Mar 2014 10:12:39 +0000 (11:12 +0100)]
[mc] Fix DW_OP_addr to translate address into virtual address space
For shared objects, the address is in fact an offset from the base
address of the mapped shared object:
real_address = shared_object_address + address
Gabriel Corona [Tue, 25 Mar 2014 09:10:43 +0000 (10:10 +0100)]
[mc] Fix DW_OP_call_frame_cfa
UNW_X86_64_CFA does not work as expected
Gabriel Corona [Tue, 25 Mar 2014 08:10:30 +0000 (09:10 +0100)]
[mc] Fix broken DW_OP_call_frame_cfa
For some reason, it seems the value of CFA is still wrong but it might
come from somewhere else.
Gabriel Corona [Mon, 24 Mar 2014 12:27:33 +0000 (13:27 +0100)]
[mc] Fix handling of inlined subroutines in MC_ignore_local_variable
The matching of function name was incorrecy in
MC_ignore_local_variable(): when the variable is in an inlined
subroutine, the function name was compared against the name of its
containing non-inlined subprogram (DW_TAG_subprogram) instead of the
name of the inlined subroutine (DW_TAG_inlined_subroutine).
Gabriel Corona [Mon, 24 Mar 2014 12:08:04 +0000 (13:08 +0100)]
[mc] Attach correct namespaced name in inlined subroutine (DW_TAG_inlined_subroutine)
Gabriel Corona [Mon, 24 Mar 2014 11:37:33 +0000 (12:37 +0100)]
[mc] Replace frame->frame (frame *name*) by frame->subprogram (dw_type_t)
Gabriel Corona [Mon, 24 Mar 2014 11:28:05 +0000 (12:28 +0100)]
[mc] Process nested-scopes
Gabriel Corona [Mon, 24 Mar 2014 10:59:07 +0000 (11:59 +0100)]
[mc] Remove MC_dwarf_get_variable_by_name (unused)
Gabriel Corona [Mon, 24 Mar 2014 10:43:08 +0000 (11:43 +0100)]
[mc] Fix handling of DW_AT_high_pc
DW_AT_high_pc is the first address which is not in the range and not
the last address in the range.
Gabriel Corona [Mon, 24 Mar 2014 10:38:43 +0000 (11:38 +0100)]
[mc] Rename frame->start into frame->id
Gabriel Corona [Mon, 24 Mar 2014 10:36:55 +0000 (11:36 +0100)]
[mc] Remove frame->end field which was not used anymore
Gabriel Corona [Mon, 24 Mar 2014 10:23:28 +0000 (11:23 +0100)]
[mc] Process nested scopes DWARF informations
Subprograms contains scopes (with variables) and scope contains other
scopes as well. They are represented by the same data structure
dw_frame_t. Scopes might be :
* DW_TAG_lexical_scope;
* DW_try_block;
* DW_catch_block;
* DW_with_stmt (partial support);
* DW_inlined_subroutine.
The scopes informations are stored but they are not used yet.
Gabriel Corona [Mon, 24 Mar 2014 09:25:52 +0000 (10:25 +0100)]
[mc] Fix memory leaks
Gabriel Corona [Mon, 24 Mar 2014 09:21:32 +0000 (10:21 +0100)]
[mc] Documentation
Martin Quinson [Sun, 23 Mar 2014 18:17:00 +0000 (19:17 +0100)]
fix the dist target after my last header move
Martin Quinson [Sun, 23 Mar 2014 15:23:07 +0000 (16:23 +0100)]
move back the protected interface of platforms to the non-public area
And have the public surf_routing.h use the public interface of
platforms instead of the protected one.
degomme [Sun, 23 Mar 2014 00:27:59 +0000 (01:27 +0100)]
Have smpi_bench.c see HAVE_MMAP flag
The way internal_config.h is not included in lots of files may cause bugs..
Shouldn't we pass flags through CFLAGS instead ?
Arnaud Giersch [Sat, 22 Mar 2014 22:47:27 +0000 (23:47 +0100)]
Missing dependency (fix parallel builds).
Arnaud Giersch [Sat, 22 Mar 2014 22:34:28 +0000 (23:34 +0100)]
Add missing files for javadoc.
Arnaud Giersch [Sat, 22 Mar 2014 22:25:13 +0000 (23:25 +0100)]
Fix doxygen comments.
Arnaud Giersch [Sat, 22 Mar 2014 22:21:55 +0000 (23:21 +0100)]
Missing XBT_LOG_CONNECTs.
Arnaud Giersch [Sat, 22 Mar 2014 22:20:21 +0000 (23:20 +0100)]
Move win32_ucontext.h to private area.
Arnaud Giersch [Sat, 22 Mar 2014 22:06:44 +0000 (23:06 +0100)]
Header platf_interface.h needs to be public (included from surf_routing.h).
Arnaud Giersch [Sat, 22 Mar 2014 22:00:32 +0000 (23:00 +0100)]
Don't include private header from public ones.
Arnaud Giersch [Sat, 22 Mar 2014 21:30:51 +0000 (22:30 +0100)]
Disable mmalloc when !HAVE_MC.
Avoid useless dependencies on libdw.
Mmalloc is not needed without MC.
degomme [Sat, 22 Mar 2014 10:48:43 +0000 (11:48 +0100)]
move unused variable
degomme [Sat, 22 Mar 2014 10:44:29 +0000 (11:44 +0100)]
protect against not mmap-enabled systems
Arnaud Giersch [Fri, 21 Mar 2014 19:58:43 +0000 (20:58 +0100)]
Fix dist.
Augustin Degomme [Fri, 21 Mar 2014 15:40:24 +0000 (16:40 +0100)]
Have some mpich3 tests use the automatic privatization instead of manual one.
Add some fortran tests which were buggy and needed privatization as well.
Augustin Degomme [Fri, 21 Mar 2014 15:38:45 +0000 (16:38 +0100)]
Add a first draft for automatic privatization of global variables for smpi.
Activated with --cfg="smpi/privatize_global_variables":yes
This will read executable (using objdump for now), find addresses of .data and .bss segments and for each process (even 0 for now) copy all this data inside an mmaped zone
Each time the simulated process executes some code, or each time we copy data from these zones, the data segment is mmaped from the one of the corresponding process.
Gabriel Corona [Fri, 21 Mar 2014 14:42:53 +0000 (15:42 +0100)]
[mc] Avoid heap collisions by using a bigger gap bewteen the two heaps
Gabriel Corona [Fri, 21 Mar 2014 11:50:58 +0000 (12:50 +0100)]
[mc] Flag state hashing (model-check/hash) as experimental
Gabriel Corona [Fri, 21 Mar 2014 11:45:05 +0000 (12:45 +0100)]
Merge branch 'mc++'
Conflicts:
src/simgrid/sg_config.c
src/xbt/mmalloc/mm_diff.c
Gabriel Corona [Fri, 21 Mar 2014 11:35:13 +0000 (12:35 +0100)]
Increase the MC heap size as a quickfix for the heap overflow bug
When the model-checker is used, two heaps are used:
* one for the application and the simulator;
* one for the model-checker.
The heaps are initially of size STD_HEAP_SIZE (currently about
19-10MiB) and are next to each other.
In some cases, the first heap overflows into the second one leading to
curruption of the second heap. One possible symptom of this is a
freeze in malloc/sem_wait:
In strace:
futex(0x998c000, FUTEX_WAIT, 0, NULL <unfinished ...>
The application heap overflows into the model-checker heap and memset0
the semaphore/futex at the beginning of the second heap.
In gdb (with "watch 0x998c000"):
Old value = 1
New value = 0
memset () at ../sysdeps/x86_64/memset.S:98
98 ../sysdeps/x86_64/memset.S: Aucun fichier ou dossier de ce type.
(gdb) bt
#0 memset () at ../sysdeps/x86_64/memset.S:98
#1 0x00007ffff7a5419b in mmalloc (mdp=0x8603000, size=
8389608) at /home/corona/workspace/simgrid/src/xbt/mmalloc/mmalloc.c:140
#2 0x00007ffff7a55d4f in malloc (n=
8389608) at /home/corona/workspace/simgrid/src/xbt/mmalloc/mm_legacy.c:71
#3 0x00007ffff7a55e3a in calloc (nmemb=
8389608, size=1) at /home/corona/workspace/simgrid/src/xbt/mmalloc/mm_legacy.c:110
#4 0x00007ffff7948224 in xbt_malloc0 (n=
8389608) at /home/corona/workspace/simgrid/include/xbt/sysdep.h:119
#5 smx_ctx_base_factory_create_context_sized (size=
8389608, code=0x401299 <coordinator>, argc=1, argv=0x8604900, cleanup_func=0x7ffff7927b78 <MSG_process_cleanup_from_SIMIX>, process=0x865e400)
at /home/corona/workspace/simgrid/src/simix/smx_context_base.c:46
#6 0x00007ffff7a1b64d in smx_ctx_sysv_create_context_sized (size=
8389608, code=0x401299 <coordinator>, argc=1, argv=0x8604900, cleanup_func=0x7ffff7927b78 <MSG_process_cleanup_from_SIMIX>,
process=0x865e400) at /home/corona/workspace/simgrid/src/simix/smx_context_sysv.c:127
#7 0x00007ffff7a1b80a in smx_ctx_sysv_create_context (code=0x401299 <coordinator>, argc=1, argv=0x8604900, cleanup_func=0x7ffff7927b78 <MSG_process_cleanup_from_SIMIX>, process=0x865e400)
at /home/corona/workspace/simgrid/src/simix/smx_context_sysv.c:186
#8 0x00007ffff795749d in SIMIX_context_new (code=0x401299 <coordinator>, argc=1, argv=0x8604900, cleanup_func=0x7ffff7927b78 <MSG_process_cleanup_from_SIMIX>, simix_process=0x865e400)
at /home/corona/workspace/simgrid/src/simix/smx_private.h:249
#9 0x00007ffff7958787 in SIMIX_process_create (process=0x7fffffffddc0, name=0x8604a00 "coordinator", code=0x401299 <coordinator>, data=0x8605000, hostname=0x906ec00 "Tremblay", kill_time=-1,
argc=1, argv=0x8604900, properties=0x0, auto_restart=0, parent_process=0x865e200) at /home/corona/workspace/simgrid/src/simix/smx_process.c:272
#10 0x00007ffff79580db in SIMIX_pre_process_create (simcall=0x865e298, process=0x7fffffffddc0, name=0x8604a00 "coordinator", code=0x401299 <coordinator>, data=0x8605000,
hostname=0x906ec00 "Tremblay", kill_time=-1, argc=1, argv=0x8604900, properties=0x0, auto_restart=0) at /home/corona/workspace/simgrid/src/simix/smx_process.c:208
#11 0x00007ffff795c1d2 in SIMIX_simcall_pre (simcall=0x865e298, value=0) at /home/corona/workspace/simgrid/src/simix/simcalls_generated_case.c:218
#12 0x00007ffff7965842 in simcall_BODY_process_create (process=0x7fffffffddc0, name=0x8604a00 "coordinator", code=0x401299 <coordinator>, data=0x8605000, hostname=0x906ec00 "Tremblay",
kill_time=-1, argc=1, argv=0x8604900, properties=0x0, auto_restart=0) at /home/corona/workspace/simgrid/src/simix/simcalls_generated_body.c:682
#13 0x00007ffff796f758 in simcall_process_create (process=0x7fffffffddc0, name=0x8604a00 "coordinator", code=0x401299 <coordinator>, data=0x8605000, hostname=0x906ec00 "Tremblay", kill_time=-1,
argc=1, argv=0x8604900, properties=0x0, auto_restart=0) at /home/corona/workspace/simgrid/src/simix/smx_user.c:581
#14 0x00007ffff7927fff in MSG_process_create_with_environment (name=0x8604a00 "coordinator", code=0x401299 <coordinator>, data=0x0, host=0x906eb00, argc=1, argv=0x8604900, properties=0x0)
at /home/corona/workspace/simgrid/src/msg/msg_process.c:171
#15 0x00007ffff7927c8c in MSG_process_create_from_SIMIX (process=0x7fffffffdf00, name=0x8604a00 "coordinator", code=0x401299 <coordinator>, data=0x0, hostname=0x906ec00 "Tremblay", kill_time=-1,
argc=1, argv=0x8604900, properties=0x0, auto_restart=0, parent_process=0x0) at /home/corona/workspace/simgrid/src/msg/msg_process.c:66
#16 0x00007ffff7949fd8 in parse_process (process=0x7fffffffe000) at /home/corona/workspace/simgrid/src/simix/smx_deployment.c:74
#17 0x00007ffff79bb589 in sg_platf_new_process (process=0x7fffffffe000) at /home/corona/workspace/simgrid/src/surf/sg_platf.c:265
#18 0x00007ffff79fa331 in ETag_surfxml_process () at /home/corona/workspace/simgrid/src/surf/surfxml_parse.c:946
#19 0x00007ffff79f2fcc in surf_parse_lex () at src/surf/simgrid_dtd.c:9166
#20 0x00007ffff79fac4e in _surf_parse () at /home/corona/workspace/simgrid/src/surf/surfxml_parse.c:1045
#21 0x00007ffff794a220 in SIMIX_launch_application (file=0x7fffffffe63b "deploy_bugged1_liveness.xml") at /home/corona/workspace/simgrid/src/simix/smx_deployment.c:125
#22 0x00007ffff7921cb1 in MSG_launch_application (file=0x7fffffffe63b "deploy_bugged1_liveness.xml") at /home/corona/workspace/simgrid/src/msg/msg_deployment.c:32
#23 0x0000000000401cf2 in main (argc=3, argv=0x7fffffffe348) at /home/corona/workspace/simgrid/examples/msg/mc/bugged1_liveness.c:150
The bug is triggered by commit
5a37cda with increases the default
stack size (the stacks are allocated in the application heap).
Things to change:
Solution a:
1) add an (optional) "hard address" to a given heap in order to
a heap to overflow on something else;
2) and do not place the heaps next to each other.
The problem is that someone might mmap something in the area of
the heaps.
Solution b:
mmap a very big area of memory (say 1TiB) for eac heaps and never
grow again. Let the system allocate memory lazily.
It might be necessary, to add a parameter fo choose this value in
order to be able to handle very large problems.
Solution c:
Use segmented heaps.
But we would need to change both the model-checker and the malloc
implementation to do this (i.e. We don't want to do this).
Temporary workarounds:
* either increase STD_HEAP_SIZE (in the source code);
* or use a smaller value for the stack size
(--cfg:contexts/stack_size=128).
Pierre Veyre [Fri, 21 Mar 2014 11:04:14 +0000 (12:04 +0100)]
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
Pierre Veyre [Fri, 21 Mar 2014 11:03:32 +0000 (12:03 +0100)]
Workstation::open() improvement
Paul Bédaride [Fri, 21 Mar 2014 10:28:27 +0000 (11:28 +0100)]
Fix issues for destroy callbacks
Pierre Veyre [Fri, 21 Mar 2014 08:44:09 +0000 (09:44 +0100)]
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
Pierre Veyre [Fri, 21 Mar 2014 08:43:29 +0000 (09:43 +0100)]
Leak --
Arnaud Giersch [Thu, 20 Mar 2014 20:12:18 +0000 (21:12 +0100)]
Fix cfg=path for test sorage_basic.
Arnaud Giersch [Thu, 20 Mar 2014 20:11:27 +0000 (21:11 +0100)]
Don't use xbt_assert for error checking.
It's deactivated when building with enable_debug=OFF.
Arnaud Giersch [Wed, 19 Mar 2014 10:20:36 +0000 (11:20 +0100)]
Typo.
Pierre Veyre [Thu, 20 Mar 2014 16:03:44 +0000 (17:03 +0100)]
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
Pierre Veyre [Thu, 20 Mar 2014 16:03:03 +0000 (17:03 +0100)]
Fix bug and leak for msg_file_open
Repare tesh tests
Gabriel Corona [Thu, 20 Mar 2014 11:38:00 +0000 (12:38 +0100)]
[mc] Fix cleanup of info->types
Gabriel Corona [Thu, 20 Mar 2014 11:30:04 +0000 (12:30 +0100)]
[mc] Fix free callback for type->members
Missing one indirection.
Gabriel Corona [Thu, 20 Mar 2014 11:23:48 +0000 (12:23 +0100)]
[mc] Efficient lookup of subprogram by offset
info->subprograms is now a dict and not an array.
Gabriel Corona [Thu, 20 Mar 2014 10:49:52 +0000 (11:49 +0100)]
[mc] Store abstract subprograms in info->subprograms
We will use them in order to resolve DW_AT_specification references.
Paul Bédaride [Thu, 20 Mar 2014 10:54:37 +0000 (11:54 +0100)]
Fix swig compile error
Pierre Veyre [Thu, 20 Mar 2014 10:44:24 +0000 (11:44 +0100)]
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
Pierre Veyre [Thu, 20 Mar 2014 10:43:53 +0000 (11:43 +0100)]
Update storage_basic tesh file
Pierre Veyre [Thu, 20 Mar 2014 10:30:45 +0000 (11:30 +0100)]
Remove debug info
Paul Bédaride [Thu, 20 Mar 2014 10:28:50 +0000 (11:28 +0100)]
Fix cmake for swig
Paul Bédaride [Thu, 20 Mar 2014 09:28:18 +0000 (10:28 +0100)]
Fix cmake for swig
Gabriel Corona [Tue, 4 Mar 2014 09:12:26 +0000 (10:12 +0100)]
[mc] Add support for inheritance
DW_TAG_inheritance relations are stored with DW_TAG_member and handled
by the same logic but are flaged as DW_TAG_inheritance.
Luka Stanisic [Thu, 20 Mar 2014 08:43:44 +0000 (09:43 +0100)]
small fix to benchmarking code
Gabriel Corona [Thu, 20 Mar 2014 08:33:31 +0000 (09:33 +0100)]
[mc] Fix documentation of the field 'full_type'
The field 'other_object_same_type' was changed into 'full_type' but
the description of the field was not changed accordingly.
Luka Stanisic [Thu, 20 Mar 2014 08:17:26 +0000 (09:17 +0100)]
Improving benchmarking code
Paul Bédaride [Wed, 19 Mar 2014 15:30:55 +0000 (16:30 +0100)]
Add java surf plugin
Pierre Veyre [Wed, 19 Mar 2014 15:31:19 +0000 (16:31 +0100)]
fix Java_org_simgrid_msg_File_open one more time
Pierre Veyre [Wed, 19 Mar 2014 15:24:41 +0000 (16:24 +0100)]
Fix Java_org_simgrid_msg_File_open() again
Pierre Veyre [Wed, 19 Mar 2014 15:16:47 +0000 (16:16 +0100)]
Fix MSG_file_open java banding
Pierre Veyre [Wed, 19 Mar 2014 14:52:07 +0000 (15:52 +0100)]
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
Pierre Veyre [Wed, 19 Mar 2014 14:51:35 +0000 (15:51 +0100)]
Modify MSG_file_open() implementation
Arnaud Giersch [Wed, 19 Mar 2014 09:54:54 +0000 (10:54 +0100)]
Add explicit initialization for the f77 field.
Arnaud Giersch [Tue, 18 Mar 2014 22:12:32 +0000 (23:12 +0100)]
Always link with libstdc++ when not compiling with Clang on FreeBSD >= 10.0.
Arnaud Giersch [Tue, 18 Mar 2014 21:59:09 +0000 (22:59 +0100)]
Avoid to compare addr with random value with gfortran.
degomme [Tue, 18 Mar 2014 17:14:45 +0000 (18:14 +0100)]
Yet another BSD patch from M. Volat, anticipating changes in c++ stack
(shame on me for not citing him for the other ones)
degomme [Tue, 18 Mar 2014 16:21:21 +0000 (17:21 +0100)]
No, it's not ...
Revert "let's try and say that freebsd is mmap compatible (and then mc-compatible ?)"
This reverts commit
e1cb58790f4d457c8dd14d0651c2564d2d1090a6.
Gabriel Corona [Tue, 18 Mar 2014 15:47:14 +0000 (16:47 +0100)]
[mc] Fix compile_warnings
degomme [Tue, 18 Mar 2014 15:16:43 +0000 (16:16 +0100)]
Merge branch 'master' of git://scm.gforge.inria.fr/simgrid/simgrid
degomme [Tue, 18 Mar 2014 15:16:25 +0000 (16:16 +0100)]
let's try and say that freebsd is mmap compatible (and then mc-compatible ?)
Should be OK with Freebsd 10 .. For the 9, let's see how the continuous integration machine behaves
degomme [Tue, 18 Mar 2014 15:13:37 +0000 (16:13 +0100)]
since guard for stack size has been implemented, this has become redundant
degomme [Tue, 18 Mar 2014 15:10:27 +0000 (16:10 +0100)]
missing includes
Gabriel Corona [Tue, 18 Mar 2014 14:51:51 +0000 (15:51 +0100)]
[mc] Use reference to types intead of type IDs
We do not need to pass the type ID+object_info everywhere.
It is much simpler to pass a pointer to the type (dw_type_t):
* remove 'info', 'other_info' parameters;
* remove cumbersome 'switch_types' logic (code duplication);
* remove type ID confusion in mm_diff (the type ID of each block was
stored but not the originating ELF obejct leading to an ambiguity);
* the code is now generalisable to more than 2 ELF objects;
* remove type lookups (by name, by ID) which are all resolved at
initialisation time.
degomme [Tue, 18 Mar 2014 15:05:11 +0000 (16:05 +0100)]
be more friendly to systems where gcc is not used anymore
degomme [Tue, 18 Mar 2014 14:57:57 +0000 (15:57 +0100)]
linking stuff, needed to compile on FreeBSD 10
Arnaud Giersch [Tue, 18 Mar 2014 14:38:56 +0000 (15:38 +0100)]
Try again, with a reduced size.
Arnaud Giersch [Tue, 18 Mar 2014 14:19:59 +0000 (15:19 +0100)]
Revert "Reduce stack size for test allreduce_coll_large."
Things were not really improved with this commit :(
This reverts commit
7f9520d8bbb96e3af373f0f1af5dc268359fdd7e.
Gabriel Corona [Tue, 18 Mar 2014 13:40:20 +0000 (14:40 +0100)]
[mc] Fix type name handling
* use a suitable prefix for type names (struct/class/union);
* rename "types_by_name" into "full_types_by_name" to be more
descriptive.
Arnaud Giersch [Tue, 18 Mar 2014 13:16:41 +0000 (14:16 +0100)]
Reduce stack size for test allreduce_coll_large.
The default stack size make it sometimes fail on CI, when
using mmalloc.
Gabriel Corona [Tue, 18 Mar 2014 11:51:30 +0000 (12:51 +0100)]
[mc] Fix mismatch between expected snapshot address and passed process address
Function 'compare_areas_with_type' expects snapshot addresses but was
passed process/real addresses in a recursive call.
It is very easy to mix the two types of addresses :/
Gabriel Corona [Mon, 10 Mar 2014 13:11:30 +0000 (14:11 +0100)]
[mc] Add location field in struct/class-members
Store location expression for fields when its location expression is
more complex than a simple offset.
Arnaud Giersch [Tue, 18 Mar 2014 10:25:42 +0000 (11:25 +0100)]
Mark tests as known to fail on Mac OS X.
Arnaud Giersch [Tue, 18 Mar 2014 08:26:36 +0000 (09:26 +0100)]
ChangeLog update.
Arnaud Giersch [Tue, 18 Mar 2014 08:26:26 +0000 (09:26 +0100)]
Cosmetics.
Pierre Veyre [Tue, 18 Mar 2014 07:34:47 +0000 (08:34 +0100)]
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
Arnaud Giersch [Mon, 17 Mar 2014 22:06:46 +0000 (23:06 +0100)]
Use a smaller stack for stack-overflow test.
It is needed on FreeBSD to have a stack size < 125K to generate a SIGSEGV with
SEGV_ACCERR when using threads, and to have this test succeed.
Without that, the SIGSEGV is correctly generated, but with SEGV_MAPERR, and the
error message is not displayed.
I don't fully understand what's going on.
Arnaud Giersch [Mon, 17 Mar 2014 15:11:16 +0000 (16:11 +0100)]
Check return value for posix_memalign.
Arnaud Giersch [Mon, 17 Mar 2014 14:53:32 +0000 (15:53 +0100)]
Forgot to add those files.
Arnaud Giersch [Wed, 12 Mar 2014 20:26:11 +0000 (21:26 +0100)]
Add test to check the stack overflow protection.
Arnaud Giersch [Wed, 12 Mar 2014 13:46:33 +0000 (14:46 +0100)]
Install signal handler for SIGSEGV.
If SEGV comes from invalid permissions, hint the user at increasing stack size.
Arnaud Giersch [Wed, 12 Mar 2014 13:49:53 +0000 (14:49 +0100)]
Use context/guard_size to protect context stacks against overflow.
Add a configurable number of protected pages at the top of each
stack.
Arnaud Giersch [Wed, 12 Mar 2014 13:47:33 +0000 (14:47 +0100)]
Add configuration parameter for contexts/guard_size.
Arnaud Giersch [Wed, 12 Mar 2014 14:17:33 +0000 (15:17 +0100)]
New function: xbt_os_thread_setguardsize (like pthread_attr_setguardsize).
Arnaud Giersch [Fri, 14 Mar 2014 15:46:24 +0000 (16:46 +0100)]
Be less coarse on error recovery: try first with a multiple of pagesize.
Arnaud Giersch [Wed, 12 Mar 2014 14:06:10 +0000 (15:06 +0100)]
Initialize default thread attrs in xbt_os_thread_mod_preinit.
Arnaud Giersch [Mon, 17 Mar 2014 08:49:24 +0000 (09:49 +0100)]
Add proper error checking.
Arnaud Giersch [Mon, 17 Mar 2014 08:42:18 +0000 (09:42 +0100)]
Parameters were in wrong order.