Fix void* arithmetic bug. Add dassert facility.
authorGodfrey van der Linden <gvdl@google.com>
Thu, 29 Jan 2015 17:17:32 +0000 (09:17 -0800)
committerGodfrey van der Linden <gvdl@google.com>
Thu, 29 Jan 2015 17:17:32 +0000 (09:17 -0800)
commit49a89404b8cbdac31a3db260396763f7b19e6b3a
tree186ae640f0050268b58c1afd047f726b9890adc4
parent344ec7d1e33f95991a37147ee30ee1bb84fa58f2
Fix void* arithmetic bug. Add dassert facility.

In C the behaviour of arthmatic on void * pointers is undefined. GCC has
a language extension that equates it with a uint8_t, but other compilers
don't. Change the tr_buf to a unsigned char to define byte arithmatic.

Split the __get_tr_slot into two adding __get_tr_slot_overwrite for the
version that masks the slot down to a limited range.

Add dassert() for assertions that are only optionally compiled in. Used
at the moment to check index is in range in __get_tr_slot.
Kconfig
kern/include/assert.h
kern/include/trace.h
kern/src/trace.c