https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102755
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to Duncan Simpson from comment #3) > I *can* build the cross compiler because the override spec files get the > assembler name right when I use --with-as=<cross assembler>. There are > no problems building the compiler or libraries. There is no override of the spec file going on. Again when a program is executed via the specs, it goes through the find_a_program function and that does the following: #ifdef DEFAULT_ASSEMBLER if (! strcmp (name, "as") && access (DEFAULT_ASSEMBLER, X_OK) == 0) return xstrdup (DEFAULT_ASSEMBLER); #endif Which says if the program name matches exactly "as", and the DEFAULT_ASSEMBLER is defined and has executable access return DEFAULT_ASSEMBLER. So your patch should have been a nop really as DEFAULT_ASSEMBLER should have been used for "as". Can you show exactly how it was failing before and add -v to the command line too?