Bug 288651 - ccache doesn't check assembler change
Summary: ccache doesn't check assembler change
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: ccache
Version: 7
Hardware: All
OS: Linux
medium
high
Target Milestone: ---
Assignee: Ville Skyttä
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 418441
TreeView+ depends on / blocked
 
Reported: 2007-09-12 22:59 UTC by H.J. Lu
Modified: 2008-06-17 02:23 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-06-17 02:23:23 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description H.J. Lu 2007-09-12 22:59:41 UTC
"make check" on binutils checks if assembler is OK. But ccache gave me
old relocatable files generated for "make check" instead of calling
the new assembler to compile new ones since the source codes of
binutils testcases aren't changed. How can I turn off ccache?

Comment 1 H.J. Lu 2007-09-13 00:00:34 UTC
I think ccache should recompile if compiler, assembler and sources are
changed.

Comment 2 Ville Skyttä 2007-09-14 17:07:53 UTC
AFAIK, ccache records the compilation command line (compiler, options) as well
as looks at the referenced source files when determining whether to use a cached
result or not.  If the target compiler does something internally that may result
in differences between different runs (which I gather is the case here, the
assembler executable or something changed), I don't think ccache has any chance
to detect that.

Anyway, I think this would be better discussed upstream with the ccache
developers - I don't think there's anything wrong packaging-wise here so I'm
inclined to close this as UPSTREAM or CANTFIX here in Bugzilla.  Opinions? 
ccache upstream contact info is at http://ccache.samba.org/

You can disable ccache by setting the CCACHE_DISABLE environment variable, see
ccache manual page as well as /etc/profile.d/ccache.*sh

Comment 3 H.J. Lu 2007-09-14 17:16:38 UTC
Gcc uses assembler to generate .o files. You can use "gcc --print-prog-name=as"
to find out where the assembler is and check if the assembler is changed
between runs.

For

[hjl@gnu-6 binutils-lrb]$ gcc --print-prog-name=as
as
[hjl@gnu-6 binutils-lrb]$ 

you need to search $PATH to find the assembler.

For

[hjl@gnu-6 binutils-lrb]$ gcc --print-prog-name=as -B/usr/bin/
/usr/bin/as
[hjl@gnu-6 binutils-lrb]$ 

You can just check the assembler directly.

It shouldn't be that hard to fix it.



Comment 4 Ville Skyttä 2007-09-14 17:50:46 UTC
Wouldn't that require running eg. "gcc --print-prog-name=as" before every single
gcc invocation?  And even then, it would only possibly help for "as", and not
for any other external executables the compiler may invoke internally.  I still
think this is something that should be taken upstream.  See also the "HOW IT
WORKS" section of the man page.

Comment 5 Bug Zapper 2008-05-14 14:20:34 UTC
This message is a reminder that Fedora 7 is nearing the end of life. Approximately 30 (thirty) days from now Fedora will stop maintaining and issuing updates for Fedora 7. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as WONTFIX if it remains open with a Fedora 'version' of '7'.

Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version prior to Fedora 7's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that we may not be able to fix it before Fedora 7 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora please change the 'version' of this bug. If you are unable to change the version, please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete. If possible, it is recommended that you try the newest available Fedora distribution to see if your bug still exists.

Please read the Release Notes for the newest Fedora distribution to make sure it will meet your needs:
http://docs.fedoraproject.org/release-notes/

The process we are following is described here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 6 Bug Zapper 2008-06-17 02:23:21 UTC
Fedora 7 changed to end-of-life (EOL) status on June 13, 2008. 
Fedora 7 is no longer maintained, which means that it will not 
receive any further security or bug fix updates. As a result we 
are closing this bug. 

If you can reproduce this bug against a currently maintained version 
of Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.