You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Otherwise this shows up as a build failure to find build_target_arch_type, which may seem mysterious as the order between trace_entry.h and dr_defines.h (both of which may be transitively included) may not be immediately clear. It is hard to ensure that for all builds dr_defines.h is included before trace_entry.h.
One way to get around this is to wrap build_target_arch_type in a new function implemented in some non-header file like what #7233 did. But eventually we should clean this up so the build_target_arch_type in trace_entry.h is itself usable.
The text was updated successfully, but these errors were encountered:
Moves the check that compares the current build enviroment with the arch
bit of the trace file to decode_cache_t::init.
Due to some complexities in how build_target_arch_type() is declared in
trace_entry.h, it had to be wrapped by a new API in decode_cache_base_t.
build_target_arch_type() is defined conditionally in trace_entry.h only
if dr_defines.h has already defined certain symbols. It is hard to
ensure that for all builds dr_defines.h is included before
trace_entry.h, so we ensure it just for decode_cache.cpp which is
packaged as a separate lib unit drmemtrace_decode_cache. This also means
that the new API could not be in decode_cache_t which is a template
class that has to be defined in the header.
Issue: #7113, #7236
build_target_arch_type() is defined in trace_entry.h
dynamorio/clients/drcachesim/common/trace_entry.h
Line 1118 in 1b9e547
But it is defined conditionally only if dr_defines.h has already defined certain symbols, specifically IF_X64_ELSE
dynamorio/core/lib/globals_api.h
Line 534 in 1b9e547
Otherwise this shows up as a build failure to find build_target_arch_type, which may seem mysterious as the order between trace_entry.h and dr_defines.h (both of which may be transitively included) may not be immediately clear. It is hard to ensure that for all builds dr_defines.h is included before trace_entry.h.
One way to get around this is to wrap build_target_arch_type in a new function implemented in some non-header file like what #7233 did. But eventually we should clean this up so the build_target_arch_type in trace_entry.h is itself usable.
The text was updated successfully, but these errors were encountered: