Skip to content

Commit e323029

Browse files
committed
Revert "[tsan] Add debugging interfaces into interface header."
It broke lit tests on Mac, see comments on the code review. > Reviewed By: vitalybuka, dvyukov > > Differential Revision: https://reviews.llvm.org/D147337 This reverts commit ebb0f1d and follow-up commit 3c83aee.
1 parent fd8745c commit e323029

File tree

4 files changed

+28
-188
lines changed

4 files changed

+28
-188
lines changed

compiler-rt/include/sanitizer/tsan_interface.h

Lines changed: 0 additions & 115 deletions
Original file line numberDiff line numberDiff line change
@@ -178,121 +178,6 @@ const char* __tsan_default_options(void);
178178
// User-provided default TSAN suppressions.
179179
const char* __tsan_default_suppressions(void);
180180

181-
/// Returns a report's description.
182-
///
183-
/// Returns a report's description (issue type), number of duplicate issues
184-
/// found, counts of array data (stack traces, memory operations, locations,
185-
/// mutexes, threads, unique thread IDs) and a stack trace of a <c>sleep()</c>
186-
/// call (if one was involved in the issue).
187-
///
188-
/// \param report Opaque pointer to the current report.
189-
/// \param[out] description Report type description.
190-
/// \param[out] count Count of duplicate issues.
191-
/// \param[out] stack_count Count of stack traces.
192-
/// \param[out] mop_count Count of memory operations.
193-
/// \param[out] loc_count Count of locations.
194-
/// \param[out] mutex_count Count of mutexes.
195-
/// \param[out] thread_count Count of threads.
196-
/// \param[out] unique_tid_count Count of unique thread IDs.
197-
/// \param sleep_trace A buffer to store the stack trace of a <c>sleep()</c>
198-
/// call.
199-
/// \param trace_size Size in bytes of the trace buffer.
200-
/// \returns Returns 1 if successful, 0 if not.
201-
int __tsan_get_report_data(void *report, const char **description, int *count,
202-
int *stack_count, int *mop_count, int *loc_count,
203-
int *mutex_count, int *thread_count,
204-
int *unique_tid_count, void **sleep_trace,
205-
uintptr_t trace_size);
206-
207-
/// Returns information about stack traces included in the report.
208-
///
209-
/// \param report Opaque pointer to the current report.
210-
/// \param idx Index to the report's stacks.
211-
/// \param trace A buffer to store the stack trace.
212-
/// \param trace_size Size in bytes of the trace buffer.
213-
/// \returns Returns 1 if successful, 0 if not.
214-
int __tsan_get_report_stack(void *report, uintptr_t idx, void **trace,
215-
uintptr_t trace_size);
216-
217-
/// Returns information about memory operations included in the report.
218-
///
219-
/// \param report Opaque pointer to the current report.
220-
/// \param idx Index to the report's memory operations.
221-
/// \param[out] tid Thread ID of the memory operation.
222-
/// \param[out] addr Address of the memory operation.
223-
/// \param[out] size Size of the memory operation.
224-
/// \param[out] write Write flag of the memory operation.
225-
/// \param[out] atomic Atomicity flag of the memory operation.
226-
/// \param trace A buffer to store the stack trace.
227-
/// \param trace_size Size in bytes of the trace buffer.
228-
/// \returns Returns 1 if successful, 0 if not.
229-
int __tsan_get_report_mop(void *report, uintptr_t idx, int *tid, void **addr,
230-
int *size, int *write, int *atomic, void **trace,
231-
uintptr_t trace_size);
232-
233-
/// Returns information about locations included in the report.
234-
///
235-
/// \param report Opaque pointer to the current report.
236-
/// \param idx Index to the report's locations.
237-
/// \param[out] type Type of the location.
238-
/// \param[out] addr Address of the location.
239-
/// \param[out] start Start of the location.
240-
/// \param[out] size Size of the location.
241-
/// \param[out] tid Thread ID of the location.
242-
/// \param[out] fd File descriptor of the location.
243-
/// \param[out] suppressable Suppressable flag.
244-
/// \param trace A buffer to store the stack trace.
245-
/// \param trace_size Size in bytes of the trace buffer.
246-
/// \returns Returns 1 if successful, 0 if not.
247-
int __tsan_get_report_loc(void *report, uintptr_t idx, const char **type,
248-
void **addr, uintptr_t *start, uintptr_t *size, int *tid,
249-
int *fd, int *suppressable, void **trace,
250-
uintptr_t trace_size);
251-
252-
/// Returns information about mutexes included in the report.
253-
///
254-
/// \param report Opaque pointer to the current report.
255-
/// \param idx Index to the report's mutexes.
256-
/// \param[out] mutex_id Id of the mutex.
257-
/// \param[out] addr Address of the mutex.
258-
/// \param[out] destroyed Destroyed mutex flag.
259-
/// \param trace A buffer to store the stack trace.
260-
/// \param trace_size Size in bytes of the trace buffer.
261-
/// \returns Returns 1 if successful, 0 if not.
262-
int __tsan_get_report_mutex(void *report, uintptr_t idx, uintptr_t *mutex_id, void **addr,
263-
int *destroyed, void **trace, uintptr_t trace_size);
264-
265-
/// Returns information about threads included in the report.
266-
///
267-
/// \param report Opaque pointer to the current report.
268-
/// \param idx Index to the report's threads.
269-
/// \param[out] tid Thread ID of the thread.
270-
/// \param[out] os_id Operating system's ID of the thread.
271-
/// \param[out] running Running flag of the thread.
272-
/// \param[out] name Name of the thread.
273-
/// \param[out] parent_tid ID of the parent thread.
274-
/// \param trace A buffer to store the stack trace.
275-
/// \param trace_size Size in bytes of the trace buffer.
276-
/// \returns Returns 1 if successful, 0 if not.
277-
int __tsan_get_report_thread(void *report, uintptr_t idx, int *tid, uintptr_t *os_id,
278-
int *running, const char **name, int *parent_tid,
279-
void **trace, uintptr_t trace_size);
280-
281-
/// Returns information about unique thread IDs included in the report.
282-
///
283-
/// \param report Opaque pointer to the current report.
284-
/// \param idx Index to the report's unique thread IDs.
285-
/// \param[out] tid Unique thread ID of the report.
286-
/// \returns Returns 1 if successful, 0 if not.
287-
int __tsan_get_report_unique_tid(void *report, uintptr_t idx, int *tid);
288-
289-
/// Returns the current report.
290-
///
291-
/// If TSan is currently reporting a detected issue on the current thread,
292-
/// returns an opaque pointer to the current report. Otherwise returns NULL.
293-
/// \returns An opaque pointer to the current report. Otherwise returns NULL.
294-
void *__tsan_get_current_report();
295-
296181
#ifdef __cplusplus
297182
} // extern "C"
298183
#endif

compiler-rt/test/tsan/Darwin/debug_external.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,17 @@
88

99
#include "../test.h"
1010

11+
extern "C" {
12+
void __tsan_on_report(void *report);
13+
int __tsan_get_report_loc(void *report, unsigned long idx, const char **type,
14+
void **addr, void **start,
15+
unsigned long *size, int *tid, int *fd,
16+
int *suppressable, void **trace,
17+
unsigned long trace_size);
18+
int __tsan_get_report_loc_object_type(void *report, unsigned long idx,
19+
const char **object_type);
20+
}
21+
1122
void *Thread(void *arg) {
1223
barrier_wait(&barrier);
1324
*((long *)arg) = 42;

compiler-rt/test/tsan/debug_mutex_bad_unlock.cpp

Lines changed: 0 additions & 73 deletions
This file was deleted.

compiler-rt/test/tsan/debugging.cpp

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,23 @@
99

1010
#include "test.h"
1111

12+
extern "C" {
13+
void __tsan_on_report(void *report);
14+
void *__tsan_get_current_report();
15+
int __tsan_get_report_data(void *report, const char **description, int *count,
16+
int *stack_count, int *mop_count, int *loc_count,
17+
int *mutex_count, int *thread_count,
18+
int *unique_tid_count, void **sleep_trace,
19+
unsigned long trace_size);
20+
int __tsan_get_report_mop(void *report, unsigned long idx, int *tid,
21+
void **addr, int *size, int *write, int *atomic,
22+
void **trace, unsigned long trace_size);
23+
int __tsan_get_report_thread(void *report, unsigned long idx, int *tid,
24+
uint64_t *os_id, int *running,
25+
const char **name, int *parent_tid, void **trace,
26+
unsigned long trace_size);
27+
}
28+
1229
long my_global;
1330

1431
void *Thread(void *a) {

0 commit comments

Comments
 (0)