In file elf/cache.c there is a casting which my lint tool complains about: 186 cache_new = (struct cache_file_new *) ((void *)cache + offset); Casting to (void *) and adding an offset is not really clear. Shouldn't it be better a cast to (char *) ?
glibc requires GCC and uses many GCC extensions. void * arithmetic is one of them.