Jim Ingham c8faa8c266 Make the stop-on-sharedlibrary-events setting work.
The StopInfoBreakpoint::PerformAction was overriding the synchronous
breakpoint's ShouldStop report.  Fix that and add a test.

This fixes two bugs in the original submission:
1) Actually generate both dylibs by including the second one in the Makefile
2) Don't ask synchronous callbacks for their opinion on whether to stop
   in the async context, that info is taken care of by recording the m_should_stop
   on entry to PerformAction.

Differential Revision: https://reviews.llvm.org/D98914
2021-03-24 11:15:11 -07:00

28 lines
684 B
C++

#include "dylib.h"
#include <limits.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char const *argv[]) {
const char *a_name = "load_a";
void *a_dylib_handle = NULL;
a_dylib_handle = dylib_open(a_name); // Set a breakpoint here.
if (a_dylib_handle == NULL) { // Set another here - we should not hit this one
fprintf(stderr, "%s\n", dylib_last_error());
exit(1);
}
const char *b_name = "load_b";
void *b_dylib_handle = NULL;
b_dylib_handle = dylib_open(b_name);
if (b_dylib_handle == NULL) { // Set a third here - we should not hit this one
fprintf(stderr, "%s\n", dylib_last_error());
exit(1);
}
return 0;
}