public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* gcc -Wp,-MD no longer working in svn build
@ 2010-08-13 11:00 Anton Blanchard
  2010-08-13 11:14 ` Joseph S. Myers
  0 siblings, 1 reply; 5+ messages in thread
From: Anton Blanchard @ 2010-08-13 11:00 UTC (permalink / raw)
  To: joseph; +Cc: gcc


Hi Joseph,

I hit the following problem when trying to build a ppc64 Linux kernel
from svn today:

# gcc -Wp,-MD,scripts/basic/.fixdep.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -o scripts/basic/fixdep scripts/basic/fixdep.c

cc1: error: unrecognized command line option ‘-MD’

Backing this out fixed it:

| jsm28 | 2010-08-13 08:52:49 +1000 (Fri, 13 Aug 2010) | 11 lines

        * gcc.c (cpp_unique_options): Generate -MDX and -MMDX from -MD and
        -MMD.

c-family:
        * c.opt (MD, MMD): Change to MDX and MMDX.
        * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.

fortran:
        * lang.opt (MD, MMD): Change to MDX and MMDX.
        * cpp.c (gfc_cpp_handle_option): Use OPT_MMD and OPT_MMDX.

Anton

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: gcc -Wp,-MD no longer working in svn build
  2010-08-13 11:00 gcc -Wp,-MD no longer working in svn build Anton Blanchard
@ 2010-08-13 11:14 ` Joseph S. Myers
  2010-08-13 11:46   ` Arnaud Charlet
  0 siblings, 1 reply; 5+ messages in thread
From: Joseph S. Myers @ 2010-08-13 11:14 UTC (permalink / raw)
  To: Anton Blanchard; +Cc: gcc

On Fri, 13 Aug 2010, Anton Blanchard wrote:

> Hi Joseph,
> 
> I hit the following problem when trying to build a ppc64 Linux kernel
> from svn today:
> 
> # gcc -Wp,-MD,scripts/basic/.fixdep.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -o scripts/basic/fixdep scripts/basic/fixdep.c

The options passed to internal binaries such as cc1 are not a documented 
public interface to GCC, so if you pass such options via -Wp you must 
expect to need to change your makefiles when the GCC-internal interfaces 
change.  Instead, you should use the various public interfaces documented 
in cppopts.texi, which *are* stable interfaces.  I think what you want 
here is "-MD -MF scripts/basic/.fixdep.d" with no -Wp.

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: gcc -Wp,-MD no longer working in svn build
  2010-08-13 11:14 ` Joseph S. Myers
@ 2010-08-13 11:46   ` Arnaud Charlet
  2010-08-13 19:40     ` Joseph S. Myers
  0 siblings, 1 reply; 5+ messages in thread
From: Arnaud Charlet @ 2010-08-13 11:46 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: Anton Blanchard, gcc, Arnaud Charlet

> > I hit the following problem when trying to build a ppc64 Linux kernel
> > from svn today:
> > 
> > # gcc -Wp,-MD,scripts/basic/.fixdep.d -Wall -Wmissing-prototypes
> > -Wstrict-prototypes -O2 -fomit-frame-pointer -o
> > scripts/basic/fixdep scripts/basic/fixdep.c
> 
> The options passed to internal binaries such as cc1 are not a documented
> public interface to GCC, so if you pass such options via -Wp you must
> expect to need to change your makefiles when the GCC-internal interfaces
> change.  Instead, you should use the various public interfaces documented
> in cppopts.texi, which *are* stable interfaces.  I think what you want
> here is "-MD -MF scripts/basic/.fixdep.d" with no -Wp.

Well, I know of several projects that rely on -Wp,-MD or -Wp,-MMD, so this
change will certainly affect lots of people I suspect.

Can't we be friendlier to these projects and keep backward compatibility?

Arno

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: gcc -Wp,-MD no longer working in svn build
  2010-08-13 11:46   ` Arnaud Charlet
@ 2010-08-13 19:40     ` Joseph S. Myers
  2010-08-13 22:09       ` Arnaud Charlet
  0 siblings, 1 reply; 5+ messages in thread
From: Joseph S. Myers @ 2010-08-13 19:40 UTC (permalink / raw)
  To: Arnaud Charlet; +Cc: Anton Blanchard, gcc

On Fri, 13 Aug 2010, Arnaud Charlet wrote:

> > The options passed to internal binaries such as cc1 are not a documented
> > public interface to GCC, so if you pass such options via -Wp you must
> > expect to need to change your makefiles when the GCC-internal interfaces
> > change.  Instead, you should use the various public interfaces documented
> > in cppopts.texi, which *are* stable interfaces.  I think what you want
> > here is "-MD -MF scripts/basic/.fixdep.d" with no -Wp.
> 
> Well, I know of several projects that rely on -Wp,-MD or -Wp,-MMD, so this
> change will certainly affect lots of people I suspect.
> 
> Can't we be friendlier to these projects and keep backward compatibility?

Allowing the same option to behave differently in the driver and in cc1 
regarding whether it takes operands seems like error-prone complexity; 
every piece of code that now or in the future looks at CL_SEPARATE will 
need also to check whether it is in the driver or in cc1.  Why is this 
code not using -MF?

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: gcc -Wp,-MD no longer working in svn build
  2010-08-13 19:40     ` Joseph S. Myers
@ 2010-08-13 22:09       ` Arnaud Charlet
  0 siblings, 0 replies; 5+ messages in thread
From: Arnaud Charlet @ 2010-08-13 22:09 UTC (permalink / raw)
  To: Joseph S. Myers; +Cc: Anton Blanchard, gcc

> Allowing the same option to behave differently in the driver and in cc1
> regarding whether it takes operands seems like error-prone complexity;
> every piece of code that now or in the future looks at CL_SEPARATE will
> need also to check whether it is in the driver or in cc1.  Why is this
> code not using -MF?

I don't know, was -MF always available, or was -Wp,-MD the
only available option at some point?

Arno

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2010-08-13 11:46 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-08-13 11:00 gcc -Wp,-MD no longer working in svn build Anton Blanchard
2010-08-13 11:14 ` Joseph S. Myers
2010-08-13 11:46   ` Arnaud Charlet
2010-08-13 19:40     ` Joseph S. Myers
2010-08-13 22:09       ` Arnaud Charlet

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).