I ran into this issue running "gcc ${CFLAGS} -Q --help=optimizers", when ${CFLAGS} happened to contain -pipe.
When -pipe is turned on, the --help=xxx switch will cause the compiler to print help to stdout, before its usual steps of dumping "help-dummy" assembly code and letting the driver pipe its output to the assembler. For example: $ gcc -pipe --help=target {standard input}: Assembler messages: {standard input}:1: Error: no such instruction: `the following options are target specific:' [snip] {standard input}:88: Error: junk at end of line, first unrecognized character is `-' A related, but far more minor, problem occurs when -save-temps is passed with --help=xxx. The help message is printed correctly, but afterwards the assembler complains: Assembler messages: Error: can't open help-dummy.s for reading: No such file or directory Thanks for your attention. -- Summary: The "--help=xxx" option does not play well with -pipe or -save-temps Product: gcc Version: 4.3.2 Status: UNCONFIRMED Severity: minor Priority: P3 Component: driver AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: justinb at math dot berkeley dot edu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38316