Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix parameter passing through makecontext (again).
authoragiersch <agiersch@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Wed, 12 Jan 2011 17:08:09 +0000 (17:08 +0000)
committeragiersch <agiersch@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Wed, 12 Jan 2011 17:08:09 +0000 (17:08 +0000)
commit193cf49a5012fae01bdeee473a1847135defcb0d
treeed1211612d242397174dff98e8a4bb5a93905c56
parentb423e899ab6e257d5c2cf489585ad5ca0af21724
Fix parameter passing through makecontext (again).

Use an union to avoid risky binary operations such as shift or cast with
signed ints.

For example on x86_64 arch, address 0x00007f89d445e010 was recomputed as
0xffffffffd445e010, because (uintptr_t)(int)0xd445e010 is 0xffffffffd445e010,
thanks to sign extension.

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@9401 48e7efb5-ca39-0410-a469-dd3cf9ba447f
src/simix/smx_context_sysv.c