Skip to content
This repository was archived by the owner on Apr 23, 2020. It is now read-only.

Commit 5ad91b8

Browse files
author
Alexey Samsonov
committed
A set of trivial changes to support sanitizers on FreeBSD.
Patch by Viktor Kutuzov! git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@202801 91177308-0d34-0410-b5e6-96231b3b80d8
1 parent 6c7c03f commit 5ad91b8

11 files changed

+20
-20
lines changed

lib/asan/asan_interceptors.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
# define ASAN_INTERCEPT_MLOCKX 0
3737
#endif
3838

39-
#if SANITIZER_LINUX
39+
#if SANITIZER_FREEBSD || SANITIZER_LINUX
4040
# define ASAN_USE_ALIAS_ATTRIBUTE_FOR_INDEX 1
4141
#else
4242
# define ASAN_USE_ALIAS_ATTRIBUTE_FOR_INDEX 0

lib/asan/asan_malloc_linux.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
//===----------------------------------------------------------------------===//
1616

1717
#include "sanitizer_common/sanitizer_platform.h"
18-
#if SANITIZER_LINUX
18+
#if SANITIZER_FREEBSD || SANITIZER_LINUX
1919

2020
#include "sanitizer_common/sanitizer_tls_get_addr.h"
2121
#include "asan_allocator.h"
@@ -153,4 +153,4 @@ INTERCEPTOR(void, malloc_stats, void) {
153153
__asan_print_accumulated_stats();
154154
}
155155

156-
#endif // SANITIZER_LINUX
156+
#endif // SANITIZER_FREEBSD || SANITIZER_LINUX

lib/asan/asan_posix.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
//===----------------------------------------------------------------------===//
1414

1515
#include "sanitizer_common/sanitizer_platform.h"
16-
#if SANITIZER_LINUX || SANITIZER_MAC
16+
#if SANITIZER_POSIX
1717

1818
#include "asan_internal.h"
1919
#include "asan_interceptors.h"
@@ -84,4 +84,4 @@ void PlatformTSDDtor(void *tsd) {
8484
}
8585
} // namespace __asan
8686

87-
#endif // SANITIZER_LINUX || SANITIZER_MAC
87+
#endif // SANITIZER_POSIX

lib/asan/tests/asan_test_utils.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
#include <unistd.h>
4242
#endif
4343

44-
#ifndef __APPLE__
44+
#if !defined(__APPLE__) && !defined(__FreeBSD__)
4545
#include <malloc.h>
4646
#endif
4747

lib/sanitizer_common/sanitizer_common.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -504,7 +504,7 @@ const uptr kPthreadDestructorIterations = 0;
504504
// Callback type for iterating over a set of memory ranges.
505505
typedef void (*RangeIteratorCallback)(uptr begin, uptr end, void *arg);
506506

507-
#if SANITIZER_LINUX && !defined(SANITIZER_GO)
507+
#if (SANITIZER_FREEBSD || SANITIZER_LINUX) && !defined(SANITIZER_GO)
508508
extern uptr indirect_call_wrapper;
509509
void SetIndirectCallWrapper(uptr wrapper);
510510

lib/sanitizer_common/sanitizer_linux.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
#define SANITIZER_LINUX_H
1515

1616
#include "sanitizer_platform.h"
17-
#if SANITIZER_LINUX
17+
#if SANITIZER_FREEBSD || SANITIZER_LINUX
1818
#include "sanitizer_common.h"
1919
#include "sanitizer_internal_defs.h"
2020
#include "sanitizer_platform_limits_posix.h"
@@ -86,5 +86,5 @@ void CacheBinaryName();
8686
void ForEachMappedRegion(link_map *map, void (*cb)(const void *, uptr));
8787
} // namespace __sanitizer
8888

89-
#endif // SANITIZER_LINUX
89+
#endif // SANITIZER_FREEBSD || SANITIZER_LINUX
9090
#endif // SANITIZER_LINUX_H

lib/sanitizer_common/sanitizer_platform.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
# define SANITIZER_ANDROID 0
5656
#endif
5757

58-
#define SANITIZER_POSIX (SANITIZER_LINUX || SANITIZER_MAC)
58+
#define SANITIZER_POSIX (SANITIZER_FREEBSD || SANITIZER_LINUX || SANITIZER_MAC)
5959

6060
#if __LP64__ || defined(_WIN64)
6161
# define SANITIZER_WORDSIZE 64

lib/sanitizer_common/sanitizer_platform_limits_posix.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -546,8 +546,8 @@ namespace __sanitizer {
546546
void (*gl_closedir)(void *dirp);
547547
struct dirent *(*gl_readdir)(void *dirp);
548548
void *(*gl_opendir)(const char*);
549-
int (*gl_lstat)(const char*, struct stat*);
550-
int (*gl_stat)(const char*, struct stat*);
549+
int (*gl_lstat)(const char*, void* /* struct stat* */);
550+
int (*gl_stat)(const char*, void* /* struct stat* */);
551551
};
552552
# endif // SANITIZER_FREEBSD
553553

lib/sanitizer_common/sanitizer_posix.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
//===----------------------------------------------------------------------===//
1414

1515
#include "sanitizer_platform.h"
16-
#if SANITIZER_LINUX || SANITIZER_MAC
16+
#if SANITIZER_POSIX
1717

1818
#include "sanitizer_common.h"
1919
#include "sanitizer_libc.h"
@@ -269,4 +269,4 @@ bool GetCodeRangeForFile(const char *module, uptr *start, uptr *end) {
269269

270270
} // namespace __sanitizer
271271

272-
#endif // SANITIZER_LINUX || SANITIZER_MAC
272+
#endif // SANITIZER_POSIX

lib/sanitizer_common/sanitizer_posix_libcdep.cc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
#include "sanitizer_platform.h"
1616

17-
#if SANITIZER_LINUX || SANITIZER_MAC
17+
#if SANITIZER_POSIX
1818
#include "sanitizer_common.h"
1919
#include "sanitizer_flags.h"
2020
#include "sanitizer_platform_limits_posix.h"
@@ -54,7 +54,7 @@ void DisableCoreDumper() {
5454
bool StackSizeIsUnlimited() {
5555
struct rlimit rlim;
5656
CHECK_EQ(0, getrlimit(RLIMIT_STACK, &rlim));
57-
return (rlim.rlim_cur == (uptr)-1);
57+
return ((uptr)rlim.rlim_cur == (uptr)-1);
5858
}
5959

6060
void SetStackSizeLimitInBytes(uptr limit) {
@@ -106,7 +106,7 @@ void SetAlternateSignalStack() {
106106
// future. It is not required by man 2 sigaltstack now (they're using
107107
// malloc()).
108108
void* base = MmapOrDie(kAltStackSize, __func__);
109-
altstack.ss_sp = base;
109+
altstack.ss_sp = (char*) base;
110110
altstack.ss_flags = 0;
111111
altstack.ss_size = kAltStackSize;
112112
CHECK_EQ(0, sigaltstack(&altstack, 0));
@@ -147,4 +147,4 @@ void InstallDeadlySignalHandlers(SignalHandlerType handler) {
147147

148148
} // namespace __sanitizer
149149

150-
#endif
150+
#endif // SANITIZER_POSIX

lib/sanitizer_common/sanitizer_procmaps_linux.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
//===----------------------------------------------------------------------===//
1212

1313
#include "sanitizer_platform.h"
14-
#if SANITIZER_LINUX
14+
#if SANITIZER_FREEBSD || SANITIZER_LINUX
1515
#include "sanitizer_common.h"
1616
#include "sanitizer_placement_new.h"
1717
#include "sanitizer_procmaps.h"
@@ -252,4 +252,4 @@ void GetMemoryProfile(fill_profile_f cb, uptr *stats, uptr stats_size) {
252252

253253
} // namespace __sanitizer
254254

255-
#endif // SANITIZER_LINUX
255+
#endif // SANITIZER_FREEBSD || SANITIZER_LINUX

0 commit comments

Comments
 (0)