public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* Re: preprocessor/7358: Changes to Sun's make Dependencies
@ 2002-08-14 15:36 neil
  0 siblings, 0 replies; 4+ messages in thread
From: neil @ 2002-08-14 15:36 UTC (permalink / raw)
  To: PickinA, gcc-bugs, gcc-prs, neil

Synopsis: Changes to Sun's make Dependencies

State-Changed-From-To: analyzed->closed
State-Changed-By: neil
State-Changed-When: Wed Aug 14 15:35:10 2002
State-Changed-Why:
    Fixed.

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=7358


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

* Re: preprocessor/7358: Changes to Sun's make Dependencies
@ 2002-07-22 11:23 neil
  0 siblings, 0 replies; 4+ messages in thread
From: neil @ 2002-07-22 11:23 UTC (permalink / raw)
  To: PickinA, gcc-bugs, gcc-prs, neil, nobody

Synopsis: Changes to Sun's make Dependencies

Responsible-Changed-From-To: unassigned->neil
Responsible-Changed-By: neil
Responsible-Changed-When: Mon Jul 22 11:23:40 2002
Responsible-Changed-Why:
    Patch being tested.
State-Changed-From-To: feedback->analyzed
State-Changed-By: neil
State-Changed-When: Mon Jul 22 11:23:40 2002
State-Changed-Why:
    Confirmed in 3.1 and 3.2, not in 3.0.  This is the same as
    your other PR/7357, effectively.

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=7358


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

* Re: preprocessor/7358: Changes to Sun's make Dependencies
@ 2002-07-19 13:56 neil
  0 siblings, 0 replies; 4+ messages in thread
From: neil @ 2002-07-19 13:56 UTC (permalink / raw)
  To: PickinA, gcc-bugs, gcc-prs, nobody

Synopsis: Changes to Sun's make Dependencies

State-Changed-From-To: open->feedback
State-Changed-By: neil
State-Changed-When: Fri Jul 19 13:56:04 2002
State-Changed-Why:
    I haven't a clue what your bug report is trying to say.
    
    1) Is it really a gmake issue?
    2) If it is a GCC issue, please give some code that
       clearly reproduces the problem.
    
    You should also be aware that 3.0.4 had bugs in dependency
    generation.  These are fixed in the unreleased 3.0.5 that
    is in CVS if you need it.  3.0.5, 3.1, 3.2 and 2.95 all
    behave the same way to the best of my knowledge.

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=7358


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

* preprocessor/7358: Changes to Sun's make Dependencies
@ 2002-07-19  7:16 PickinA
  0 siblings, 0 replies; 4+ messages in thread
From: PickinA @ 2002-07-19  7:16 UTC (permalink / raw)
  To: gcc-gnats


>Number:         7358
>Category:       preprocessor
>Synopsis:       Changes to Sun's make Dependencies
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Jul 19 07:16:01 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Andrew Pickin
>Release:        3.0.4+
>Organization:
>Environment:
Solaris
>Description:
Sun Dependencies make object files dependent on C source
even thought this may be a temporary file.

This can make builds fail when using Sun's make.
>How-To-Repeat:
If we consider the make file dependency

.c.o:
    @cp $(@:.o=.c) /tmp/tmp.c
    gcc -c /tmp/tmp.c -o $@
    @rm /tmp/tmp.c

[ Don't ask why I'm doing this, I'm not, but it demonstrates the point ]

and we have a single source file main.c

Version 2.9.5 produced dependency

main.o: ...
    <system headers>
    ..... 
    cp main.c /tmp/tmp.c
    gcc -g -O2 -c /tmp/tmp.c -o main.o
    rm /tmp/tmp.c

Whereas 3.0.4 produces:

main.o: /tmp/tmp.c 
    ...
    <system headers>
    ..... 
    cp main.c /tmp/tmp.c 
    gcc -c /tmp/tmp.c -o main.o
    rm /tmp/tmp.c 

Whereas 3.1.0 produces:

main.o: /tmp/tmp.c 
    cp main.c /tmp/tmp.c 
    gcc -g -O2 -c /tmp/tmp.c -o main.o
    rm /tmp/tmp.c

I have raised the problem with the System Headers previously
[7357] but GCC 3 has introduced a new dependency of object file on the source.

This means that in the best case everything will be compiles twice the first time around, as Sun's make re-reads the dependency list again and identifies a new dependency. In the worst case builds fail as temporary files may nolonger be present.

This is indeed what happens if one uses ccache 
(see ccache.samba.org).


>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:


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

end of thread, other threads:[~2002-08-14 22:35 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-08-14 15:36 preprocessor/7358: Changes to Sun's make Dependencies neil
  -- strict thread matches above, loose matches on Subject: below --
2002-07-22 11:23 neil
2002-07-19 13:56 neil
2002-07-19  7:16 PickinA

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).