> So does this require that every function have an 8-byte alignment > boundary? or just those that appear in nested functions? If the > former, how do you get routines written in assembler, or produced by > third-party compilers, to comply?
The former. You need to be able to control what happens at the interface with other languages and accept what they send (and do not send them descriptors). The ISO standard contains an entire annex specifying this interfacing in Ada. -- Eric Botcazou