I'm using gcc to build in a freestanding environment ( a kernel ), and it is generating a call to alloca in some code that allocates 5000 bytes on the stack ( bz2lib ). My question is why does gcc generate this call, and how do I make it not do that, since I'm not linking to the crt, and this function is not available?