// link_missing_stubs.c // Weak fallback definitions for optional diagnostics that may be compiled out // in certain build configurations. These ensure linking succeeds even when // the corresponding feature boxes are not included. #include #include // Minimal forward declarations to avoid pulling full tracing headers typedef int ptr_trace_event_t; typedef struct SlabRecyclingStats { uint64_t recycle_attempts; uint64_t recycle_success; uint64_t recycle_skip_not_empty; uint64_t recycle_skip_no_cap; uint64_t recycle_skip_null; } SlabRecyclingStats; // lock_stats_box.h が存在しないビルド構成向けに前方宣言だけ置く void lock_stats_init(void); // Ptr trace counters (used by tls_sll) _Atomic uint64_t g_ptr_trace_op_counter __attribute__((weak)) = 0; void ptr_trace_record_impl(ptr_trace_event_t event, void* ptr, int class_idx, uint64_t op_num, void* aux_ptr, uint32_t aux_u32, int aux_int, const char* file, int line) __attribute__((weak)); void ptr_trace_record_impl(ptr_trace_event_t event, void* ptr, int class_idx, uint64_t op_num, void* aux_ptr, uint32_t aux_u32, int aux_int, const char* file, int line) { (void)event; (void)ptr; (void)class_idx; (void)op_num; (void)aux_ptr; (void)aux_u32; (void)aux_int; (void)file; (void)line; } // Slab recycling stats (used in TLS drain instrumentation) __thread SlabRecyclingStats g_slab_recycle_stats __attribute__((weak)) = {0}; // Lock stats init (contention metrics) void lock_stats_init(void) __attribute__((weak)); void lock_stats_init(void) {}