Support subclassing drmemtrace syscall_mix data (#6834)

Adds a virtual destructor to the drmemtrace tool
syscall_mix_t::shard_data_t, to support subclassing that struct
for extended usage such as tracking callstacks for each syscall.
diff --git a/clients/drcachesim/tools/syscall_mix.h b/clients/drcachesim/tools/syscall_mix.h
index e0707fc..ca649de 100644
--- a/clients/drcachesim/tools/syscall_mix.h
+++ b/clients/drcachesim/tools/syscall_mix.h
@@ -70,6 +70,8 @@
 
 protected:
     struct shard_data_t {
+        // Provide a virtual destructor to allow subclassing.
+        virtual ~shard_data_t() = default;
         std::unordered_map<int, int64_t> syscall_counts;
         std::unordered_map<int, int64_t> syscall_trace_counts;
         std::string error;