@@ -219,20 +219,19 @@ static void ReExecIfNeeded() {
219
219
// Go maps shadow memory lazily and works fine with limited address space.
220
220
// Unlimited stack is not a problem as well, because the executable
221
221
// is not compiled with -pie.
222
- {
223
- bool reexec = false ;
224
- // TSan doesn't play well with unlimited stack size (as stack
225
- // overlaps with shadow memory). If we detect unlimited stack size,
226
- // we re-exec the program with limited stack size as a best effort.
227
- if (StackSizeIsUnlimited ()) {
228
- const uptr kMaxStackSize = 32 * 1024 * 1024 ;
229
- VReport (1 ,
230
- " Program is run with unlimited stack size, which wouldn't "
231
- " work with ThreadSanitizer.\n "
232
- " Re-execing with stack size limited to %zd bytes.\n " ,
233
- kMaxStackSize );
234
- SetStackSizeLimitInBytes (kMaxStackSize );
235
- reexec = true ;
222
+ bool reexec = false ;
223
+ // TSan doesn't play well with unlimited stack size (as stack
224
+ // overlaps with shadow memory). If we detect unlimited stack size,
225
+ // we re-exec the program with limited stack size as a best effort.
226
+ if (StackSizeIsUnlimited ()) {
227
+ const uptr kMaxStackSize = 32 * 1024 * 1024 ;
228
+ VReport (1 ,
229
+ " Program is run with unlimited stack size, which wouldn't "
230
+ " work with ThreadSanitizer.\n "
231
+ " Re-execing with stack size limited to %zd bytes.\n " ,
232
+ kMaxStackSize );
233
+ SetStackSizeLimitInBytes (kMaxStackSize );
234
+ reexec = true ;
236
235
}
237
236
238
237
if (!AddressSpaceIsUnlimited ()) {
@@ -292,7 +291,6 @@ static void ReExecIfNeeded() {
292
291
293
292
if (reexec)
294
293
ReExec ();
295
- }
296
294
}
297
295
# endif
298
296
0 commit comments