106 |
|
|
107 |
#ifdef NEED_NONRANDOM_SBRK |
#ifdef NEED_NONRANDOM_SBRK |
108 |
#include <syscall.h> |
#include <syscall.h> |
109 |
#include <linux/personality.h> |
#include <sys/personality.h> |
110 |
#include <unistd.h> |
#include <unistd.h> |
111 |
#endif |
#endif |
112 |
|
|
140 |
#endif |
#endif |
141 |
|
|
142 |
#ifdef NEED_NONRANDOM_SBRK |
#ifdef NEED_NONRANDOM_SBRK |
143 |
#if SIZEOF_LONG == 4 |
{ |
144 |
if (!syscall(SYS_personality,PER_LINUX32)) |
long pers; |
145 |
#else |
pers=personality(-1); |
146 |
if (!syscall(SYS_personality,PER_LINUX)) |
if (!(pers & ADDR_NO_RANDOMIZE)) { |
147 |
#endif |
personality(pers | ADDR_NO_RANDOMIZE); |
148 |
execvp(argv[0],argv); |
execve(*argv,argv,envp); |
149 |
|
} |
150 |
|
} |
151 |
#endif |
#endif |
152 |
|
|
153 |
#if defined(DARWIN) |
#if defined(DARWIN) |
154 |
extern void init_darwin_zone_compat (); |
{ |
155 |
init_darwin_zone_compat (); |
extern void init_darwin_zone_compat (); |
156 |
|
init_darwin_zone_compat (); |
157 |
|
} |
158 |
#endif |
#endif |
159 |
|
|
160 |
install_segmentation_catcher(); |
install_segmentation_catcher(); |