Todd Fiala wrote:

> +        case eTypeUInt64:   return m_data.uint32;
On the surface this line looks a little suspect but I need to see it in context.

Agreed. It's not a really good fix. And it probably breaks a design goal in the RegisterValue. My motivation for making the change was merely that the initialization "zero_bits" writes to dr6/7 of IsWatchpointHit/Vacant were assigned as 64 bits, as in:

RegisterValue zero_bits = RegisterValue(uint64_t(0));

but in the business end (ProcessMonitor)

#if __WORDSIZE == 32
    buf = (void*) m_value.GetAsUInt32();
#else
    buf = (void*) m_value.GetAsUInt64();
#endif

these returned as ffffffff (fail_value) due (what I perceive to be) the design 
goal of RegisterValue (i.e. that switch/case statement).

Better fix is possibly somewhere in RegisterContextPOSIXProcessMonitor?

Anyway, I'll look at the r202428 and see if the issue persists.

thanks
Matt



Member of the CSR plc group of companies. CSR plc registered in England and 
Wales, registered number 4187346, registered office Churchill House, Cambridge 
Business Park, Cowley Road, Cambridge, CB4 0WZ, United Kingdom
More information can be found at www.csr.com. Keep up to date with CSR on our 
technical blog, www.csr.com/blog, CSR people blog, www.csr.com/people, YouTube, 
www.youtube.com/user/CSRplc, Facebook, 
www.facebook.com/pages/CSR/191038434253534, or follow us on Twitter at 
www.twitter.com/CSR_plc.
New for 2014, you can now access the wide range of products powered by aptX at 
www.aptx.com.
_______________________________________________
lldb-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits

Reply via email to