gcc makes this mapping by default anyway, but it will be disabled by
-fno-builtin (and presumably by -std=c99 or similar). for the main
program the error will be reported by the linker, and the issue can
easily be fixed, but for dynamic-loaded so files, the error cannot be
detected until dlopen time, at which point it has become very obscure.
void *alloca(size_t);
+#ifdef __GNUC__
+#define alloca __builtin_alloca
+#endif
+
#ifdef __cplusplus
}
#endif