These tools do not need very high stacks when compiling simpler projects, but can do when compiling very complex porjects. This means there is no reasonable stack cookie.
My shell stack is typically set to 200K and for nearly everything that's enough. But IIRC I needed more for blender (2Mb for safety IIRC) but setting a stack cookie so high would be very wasteful for most projects.
The thing is make is akind of programming language in a sense so stack usage will depend on complexity of program.
Since th system doesn't have autoextending stacks and these are develeopement tools you just have to think like develeoper and make reasonable assesments of your needed stack.
This also goes for langauges like perl and python, even AWeb can burn through it's stack if you design an eveil enough nested table web page ( was an old test we used to "fuzz" it).
STACK cookies are useful in predicatable user applications, but not a total solution.
C++ projects built: - Shaderjoy - Fractal Nova - secret project
All good so far! As one of the projects is using the GLM library, I got some errors related to std::round and others but just hacked those away locally. Should I report these failing std functions against the adtools project or?
All good so far! As one of the projects is using the GLM library, I got some errors related to std::round and others but just hacked those away locally. Should I report these failing std functions against the adtools project or?
Good to hear. It's likely a clib2 problem but adtools is probably a better place for the issue since that's where the digging needs to start. Since gcc 10 hasn't been integrated in the main repo yet I suggest you put it here: https://github.com/sodero/adtools
I'd say 10. More warnings, and even a static analysis pass, might make finding some problems easier. Also, on average, newer compilers tend to generate better code.
Hello All of you are doing a great job. I would test gcc 10 on OS4.1. What and where do I download? (gcc, addtools...) How to install it? over old gcc or fresh install? In this case, all libraries and .so must be reinstalled, no? Thanks for your answers.
Since a lot of months without an amiga to love, I was lost. Now I feel happiness again with a Sam Flex 800 .
Please can we have an updated version of all adtools and gcc binaries on os4depot? I know there’s an updated version of sdk (docs and includes) when Hyperion could release it?
I didn't open yet a ticket as there is some uncertainty. I'm usually using newlib and here is a simplified example that triggers issues:
#include <cmath>
using std::round;
using std::exp2;
using std::trunc;
using std::fma;
using std::asinh;
using std::acosh;
using std::atanh;
When built with: g++ test.cpp -std=c++11 -mcrt=newlib. These functions can be called without std namespace. Maybe this issue is already solved somewhere, for example: https://github.com/sba1/adtools/issues/86
Thanks, I need to read that article some day with enough coffee.
...
I have now another issue. I have build SDL2 library using GCC10 and libSDL2.a has some symbols like "IExec" which used to be of type "C" (common) but now they are of type "S". This seems to trigger a linker error about multiple definitions when linking statically. I wonder why the symbol type has suddenly changed?
I have now another issue. I have build SDL2 library using GCC10 and libSDL2.a has some symbols like "IExec" which used to be of type "C" (common) but now they are of type "S". This seems to trigger a linker error about multiple definitions when linking statically. I wonder why the symbol type has suddenly changed?
IExec and INewlib are defined in SDL_os4library.c as unitialized variables so 'S' seems right. I don't know what compiler they (or is that you?) used to build the library on os4depot, but my guess is that it's a compiler where '-fcommon' is default rather than '-fno-common' which seems to be the default on gcc 10. If you add '-fcommon' to the CFLAGS when building, IExec and INewlib should be common 'C' symbols.