@@ -17,31 +17,33 @@ extern "C" {
1717
1818// Macros to burn global values in custom sections so out-of-process
1919// profilers can locate them easily.
20-
2120#define GENERATE_DEBUG_SECTION (name , declaration ) \
2221 _GENERATE_DEBUG_SECTION_WINDOWS(name) \
2322 _GENERATE_DEBUG_SECTION_APPLE(name) \
2423 declaration \
25- _GENERATE_DEBUG_SECTION_LINUX(name)
24+ _GENERATE_DEBUG_SECTION_LINUX(name) \
2625
2726#if defined(MS_WINDOWS )
2827#define _GENERATE_DEBUG_SECTION_WINDOWS (name ) \
2928 _Pragma(Py_STRINGIFY(section(Py_STRINGIFY(name), read, write))) \
30- __declspec(allocate(Py_STRINGIFY(name)))
29+ __declspec(allocate(Py_STRINGIFY(name))) \
30+ __declspec(dllexport)
3131#else
3232#define _GENERATE_DEBUG_SECTION_WINDOWS (name )
3333#endif
3434
3535#if defined(__APPLE__ )
3636#define _GENERATE_DEBUG_SECTION_APPLE (name ) \
37- __attribute__((section(SEG_DATA "," Py_STRINGIFY(name))))
37+ __attribute__((section(SEG_DATA "," Py_STRINGIFY(name)))) \
38+ __attribute__((visibility("default")))
3839#else
3940#define _GENERATE_DEBUG_SECTION_APPLE (name )
4041#endif
4142
4243#if defined(__linux__ ) && (defined(__GNUC__ ) || defined(__clang__ ))
4344#define _GENERATE_DEBUG_SECTION_LINUX (name ) \
44- __attribute__((section("." Py_STRINGIFY(name))))
45+ __attribute__((section("." Py_STRINGIFY(name)))) \
46+ __attribute__((visibility("default")))
4547#else
4648#define _GENERATE_DEBUG_SECTION_LINUX (name )
4749#endif
0 commit comments