secmem: fix compiler warnings on ARM
authorJussi Kivilinna <jussi.kivilinna@iki.fi>
Tue, 23 Dec 2014 11:31:09 +0000 (13:31 +0200)
committerJussi Kivilinna <jussi.kivilinna@iki.fi>
Thu, 25 Dec 2014 09:16:49 +0000 (11:16 +0200)
commit99faf9cb34f872144313403f29f3379798debfc9
treef8f64a940c5937de5e6b117d1015744a11b4d9ec
parent4515315f61fbf79413e150fbd1d5f5a2435f2bc5
secmem: fix compiler warnings on ARM

* src/secmem.c (ADDR_TO_BLOCK, mb_get_next, mb_get_new): Cast pointer
from 'char *' to 'memblock_t *' through 'void *'.
(MB_WIPE_OUT): Remove unneeded cast to 'memblock_t *'.
--

Patch fixes 'cast increases required alignment' warnings seen on GCC:

secmem.c: In function 'mb_get_next':
secmem.c:140:13: warning: cast increases required alignment of target type [-Wcast-align]
   mb_next = (memblock_t *) ((char *) mb + BLOCK_HEAD_SIZE + mb->size);
             ^
secmem.c: In function 'mb_get_new':
secmem.c:208:17: warning: cast increases required alignment of target type [-Wcast-align]
      mb_split = (memblock_t *) (((char *) mb) + BLOCK_HEAD_SIZE + size);
                 ^
secmem.c: In function '_gcry_secmem_free_internal':
secmem.c:101:3: warning: cast increases required alignment of target type [-Wcast-align]
   (memblock_t *) ((char *) addr - BLOCK_HEAD_SIZE)
   ^
secmem.c:603:8: note: in expansion of macro 'ADDR_TO_BLOCK'
   mb = ADDR_TO_BLOCK (a);
        ^
In file included from secmem.c:40:0:
secmem.c:609:16: warning: cast increases required alignment of target type [-Wcast-align]
   wipememory2 ((memblock_t *) ((char *) mb + BLOCK_HEAD_SIZE), (byte), size);
                ^
g10lib.h:309:54: note: in definition of macro 'wipememory2'
               volatile char *_vptr=(volatile char *)(_ptr); \
                                                      ^
secmem.c:611:3: note: in expansion of macro 'MB_WIPE_OUT'
   MB_WIPE_OUT (0xff);
   ^
secmem.c:609:16: warning: cast increases required alignment of target type [-Wcast-align]
   wipememory2 ((memblock_t *) ((char *) mb + BLOCK_HEAD_SIZE), (byte), size);
                ^
g10lib.h:309:54: note: in definition of macro 'wipememory2'
               volatile char *_vptr=(volatile char *)(_ptr); \
                                                      ^
secmem.c:612:3: note: in expansion of macro 'MB_WIPE_OUT'
   MB_WIPE_OUT (0xaa);
   ^
secmem.c:609:16: warning: cast increases required alignment of target type [-Wcast-align]
   wipememory2 ((memblock_t *) ((char *) mb + BLOCK_HEAD_SIZE), (byte), size);
                ^
g10lib.h:309:54: note: in definition of macro 'wipememory2'
               volatile char *_vptr=(volatile char *)(_ptr); \
                                                      ^
secmem.c:613:3: note: in expansion of macro 'MB_WIPE_OUT'
   MB_WIPE_OUT (0x55);
   ^
secmem.c:609:16: warning: cast increases required alignment of target type [-Wcast-align]
   wipememory2 ((memblock_t *) ((char *) mb + BLOCK_HEAD_SIZE), (byte), size);
                ^
g10lib.h:309:54: note: in definition of macro 'wipememory2'
               volatile char *_vptr=(volatile char *)(_ptr); \
                                                      ^
secmem.c:614:3: note: in expansion of macro 'MB_WIPE_OUT'
   MB_WIPE_OUT (0x00);
   ^
secmem.c: In function '_gcry_secmem_realloc':
secmem.c:644:8: warning: cast increases required alignment of target type [-Wcast-align]
   mb = (memblock_t *) ((char *) p - ((size_t) &((memblock_t *) 0)->aligned.c));
        ^

Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>
src/secmem.c