Developer FAQ
You need to find which symbol causes it. If it's coming from utility.library
you have to add -D__UTILITY_NOLIBBASE__ to the USER_CPPFLAGS.
When you include headers without -Dxx_NOLIBBASE it exposes a symbol that
makes the autoinit logic work. If you are handling the base yourself or build
a module which has a different startup behavior you don't want that.
If you have the required library base as element of another library you can
just do something like #define UtilityBase (DOSBase->dl_UtilityBase).
If that isn't possible you have to open the library by yourself:
struct Library *UtilityBase;
...
UtilityBase = OpenLibrary("utility.library", version);
ROM modules might use the private function Tagged_OpenLibrary().
Get rid of the C runtime functions. Use replacement functions from exec.library
or utility.library, or use inline functions which you get by including
<aros/crt_replacement.h>.
Add -fno-builtin to the USER_CFLAGS. That prevents GCC to pull in symbols
like memset, abs etc.
Copy some files:
cd <srcdir>/scripts/nightly/autotest
cp Test.cunit <arosdir>/S/Test
cp Try <arosdir>/S/Try
cp User-Startup.cunit <arosdir>/S/User-Startup
Restart AROS. The output is sent to DEBUG: which means on hosted the Console
from where you have started AROS. Note that AROS exits after running the script.
|