On 10/19/2013 04:19 PM, Lu, Alexandra (Alexandra) wrote:
When I use the "__attribute__ packed" option to compact enum from 4 bytes to 1 byte, it works well for saving memory when placed with other 1 byte data. However, when this packed enum is used to instantiate say a local variable, our memory tool (Purify) will complain that 3 out of the 4 bytes are uninitialized, causing a lot of UMR errors. Is there any way to work around this problem to keep the memory tool happy?
I think you need to ask the Purify folks. I suspect they interpret packed enums differently from GCC, which might be a bug in their tool.
-- Florian Weimer / Red Hat Product Security Team