http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54373
--- Comment #1 from Hans-Peter Nilsson <hp at gcc dot gnu.org> 2012-08-26 04:23:05 UTC --- (In reply to comment #0) > Some time after the 4.6 branch building binutils separately (not in a combined > tree) broke. To wit, a build with in-tree binutils works. But, it works for the wrong reason: there's a bug in the extraction of gas and ld version, which has the effect of turning off every optional (and version-tested) gas and ld feature. Thus, for in-tree binutils, support for .hidden is turned off (*) and corresponding #ifs in crtstuff.c cause the code to be different. It works but for the wrong reason. The linker error messages indicates a linker bug, because the offending insn: LDA $252,__TMC_END__+7 or actually, the "__TMC_END__+7" operand, is valid; there are no restrictions for base-plus-offset symbol expressions (like, not having an offset or offsets being a multiple of 8). I'm keeping this PR open and assigned instead of closing as invalid until I know this is the only build-breaking bug (or libobjc-build-breaking bug).