So, if you were using a commercial compiler (greenhills, Keil, IAR)
AdaMulti-packet {C, ADA}, by GreenHills
would you be allowed to use their malloc() implementation?
no, they haven't bought the "verified version" for metal bare, they got a kernel from
GreenHills which comes with its verified stuff (I am not authorized to browse sources, they are level A-C, I physically do not have the password to the repository), while I am on my own way with meal bare (BSP, iBSP, etc) and I had to rewrite the full crt0
target:PowerPC460, don't ask me WHY I had to rewrite the crt0 (in assembly) providing them a piece of paper which assures them that there is a "cache invalidation" before invoking "main": it's a requirement, and I had to show them I have satisfied it
the job-activity consists of the following parts
- you get requirements
- you have to fight to get the documentation (which is never ready and detailed)
- you get a passfree to access the hardware (which is available only for 4 hour a day, sometimes 5 minutes a day (their coffee break) )
- you can't ever argue with your executive manager, ever
- you have to satisfy all the requirements
- you have to prove you have satisfied all of them through test activity plus documentation (called ATP, ATR, etc, TP=test plan, TR=test report)
- your work has to pass all the QA checks (other dudes will verify your documentation and sources)
- if everything is OK (which usually implies 3-4 iterations between you and QA dudes), your "engineering draft version" will be committed as "production version"
How about one of the hybrids with a "supported" library? This *is* one reason that companies pay big bucks for marginally better compilers...
the executive manager has asked me to develop, and that's all I know, but from my point of view it's good: task assigned, money paid, good occasion to make career points, what they want to do/the reason why, it's all up to their choices
you are right:
they (avionics dudes) are crazy, no doubt about that