FAQ for defines =============== Here are the defines to put in config/*/*/md.h to enable features in kaffe. KAFFEMD_PAGESIZE ---------------- This macro is to be defined if the OS supports mdGetPageSize(). mdGetPageSize() returns the current page size for the operating system. KAFFEMD_STACKOVERFLOW --------------------- This macro is to be defined if the operating system supports stack overflow reporting. This macro should require that at least SA_ONSTACK, STACK_POINTER and HAVE_SIGALTSTACK are defined. But if the operating system is badly supported on the architecture this can be left undefined and kaffe will keep the old behaviour. KAFFEMD_STACKBASE ----------------- This macro is to be defined is the platform supports mdGetStackBase(). This function returns a pointer to the bottom of the stack. KAFFEMD_STACKEND ----------------- This macro is to be defined is the platform supports mdGetStackEnd(). This function returns a pointer to the end of the stack. KAFFEMD_STACKSIZE ----------------- This macro specifies whether the platform supports mdGetStackSize(), mdSetStackSize(), KAFFEMD_STACK_INFINITY and KAFFEMD_STACK_ERROR. mdGetStackSize() returns the maximum acceptable stack size for the OS. mdSetStackSize() changes this limit. KAFFEMD_STACK_INFINITY is an alias for the value representing an infinite stack size. KAFFEMD_STACK_ERROR is an alias for the special value representing an error for mdGetStackSize() (usually 0). KAFFEMD_DISABLE_SETSTACKSIZE ---------------------------- If set the VM will not use mdSetStackSize to change stack size limit and will use the default one. However it will retrieve the stack size using mdGetStackSize(). KAFFEMD_BUGGY_STACKOVERFLOW --------------------------- This macro indicated that the architecture has a buggy stack overflow handling and thus kaffe must take care of not enabling some stack protection features.