I'll investigate further.
Had recently enabled ruby scripting in vim 7.3.548 and I got the following message
% /usr/local/bin/vim
dyld: Symbol not found: _environ
Referenced from: /usr/local/lib/libruby.2.0.0.dylib
Expected in: flat namespace
in /usr/local/lib/libruby.2.0.0.dylib
Trace/BPT trap
Thats when I went reading your code / reading apple documentation and saw how hash.c was avoiding
direct reference to environ but missing/setproctitle.c wasn't doing anything special.
% otool -L /usr/local/bin/vim
src/vim:
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.1.0)
/usr/lib/libncurses.5.4.dylib (compatibility version 5.4.0, current version 5.4.0)
/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
/usr/local/lib/libintl.8.dylib (compatibility version 10.0.0, current version 10.1.0)
/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 17.0.0)
/usr/local/lib/libruby.2.0.0.dylib (compatibility version 2.0.0, current version 2.0.0)
/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 53.0.0)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 635.21.0)
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 833.25.0)
/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1138.47.0)