https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67710
--- Comment #6 from Iain Sandoe <iains at gcc dot gnu.org> --- (In reply to Iain Sandoe from comment #5) > (In reply to r...@cebitec.uni-bielefeld.de from comment #4) > > Unfortunately, it doesn't work on Mac OS X 10.11.2: every link test > > FAILs with > > > > FAIL: 17_intro/freestanding.cc (test for excess errors) > > Excess errors: > > ld: warning: object file > > (/var/folders/1d/k16rgv6d5039jhvlj8_dzk4h00021y/T//cc0iIoOX.o) was built for > > newer OSX version (10.11.2) than being linked (10.11) > > > > I've found that while ld strips the micro version passed to > > -mmacosx_version_min, clang does not, resulting in this mess. > > hum. > > Given that ld(1) documents the version number format as <major>.<minor>, > > for > > now it seems that gcc should only pass this to as and ld. > > ld < 85.2..ish didn't understand the minor. > > > Looking... So i've drafted a patch that pushes -asm_macosx_version_min=10.xx as a driver-only option and started to test it out as an add-on to your patch. Unfortunately, proving that the assembler accepts -mmacosx-version-min= .. doesn't prove that it ends up in the object. xc-7.2 (10.10, 11) does xc-6.2 (10.9) accepts -mmacosx-version-min= (with -q to invoke the llvm assembler) but the load command is not emitted. xc-5.1.1 (10.8) as per xc-6.2 .. right now I don't know if this is significant (except to my back-ported ld64-253.3) testing a patch, will post here when it's baked.