When using distcc on machines with differing instruction sets and -march=native, it's possible for GCC to create object files containing instructions that are not supported by the host architecture (eg. if the host is SSE2 but a node is SSE3 - native detects what is available on the machine doing the actual compile). The attached patch by Martin Pool forces distcc to run jobs being built with -march=native locally and print a warning. distcc with -mtune=native won't break anything but can result some objects being optimized for a different sub-arch, so the patch includes it too. i don't think it makes much difference really. This patch was sent to the distcc ML but there's no indication whether it was applied or not, and i'm not installing GNU Arch just to find out. ;)
Created attachment 153895 [details, diff] distcc-march-native.patch
(In reply to comment #1) > Created an attachment (id=153895) [edit] > distcc-march-native.patch > Feel free to bump the revision and apply the patch in the tree.
Done, thanks.
-march=native is FINE for us that run compiler farms on the same IRON and this patch really need to be reworked.
this patch is upstream now. best to talk to them.
(In reply to comment #5) > this patch is upstream now. best to talk to them. > I've spend a week trying to figure out novels system, but I can't for the life of me figure out where the hell to get in contact with upstream to get this annoying patch removed.
try the homepage? :P http://code.google.com/p/distcc/ "mailing list" on the right hand side.
Please update the documentation at http://www.gentoo.org/doc/en/distcc.xml , currently it only says "Don't use -march=native", it doesn't mention that distcc gets DISABLED automatically. Also please provide a way to ignore -march=native and just let it run.
File a new bug for the doc team.