Hello, I am trying to create a dynamic library for x86_64-apple-darwin12 (Mac OS) with gcc 4.8.1. My source code includes some simple functions that I think are being identified as leaf functions. This works fine when compiling to a static library. However, when compiling to dynamic library (-dynamiclib etc.), seg fault results immediately on call from one of these leaf-like functions to another. GDB tells me that the stack becomes misaligned in the calling function, and the actual seg fault happens within a dynamic loader stub function. The simplified message from GDB is: misaligned_stack_error_entering_dyld_stub_binder And indeed, the stack pointer which was aligned to xxxx0 in previous functions, is now xxxx8 just before the fatal call to the dynamic loader. I read that the Mac ABI requires 16-byte stack alignment. So, this seems to be a case where leaf functions are no longer leaf functions when compiling for dynamic library. However I can not seem to obtain 16 byte alignment by default, or with the obvious controls such as -mpreferred-stack-boundary=4. There are a few kludges that force alignment, such as adding a fprintf call in the called function. Is there a straightforward way to obtain 16-byte stack alignment for all function calls, regardless of their status as leaf? I will gladly supply a short test case if this is insufficient information. Thanks for any insights. --Dave