[prev in list] [next in list] [prev in thread] [next in thread]
List: gcc
Subject: Re: hash signature of cc1 etc....?
From: Romain Geissler <romain.geissler () gmail ! com>
Date: 2011-07-25 19:34:08
Message-ID: B97FEA71-B092-4E8C-BF18-7CB2521D040A () gmail ! com
[Download RAW message or body]
Hi
Le 23 juil. 2011 à 07:45, Basile Starynkevitch a écrit :
> On Fri, 22 Jul 2011 15:12:36 -0700
> Ian Lance Taylor <iant@google.com> wrote:
>
> > Basile Starynkevitch <basile@starynkevitch.net> writes:
> >
> > > Should we add an option to the gcc driver which would print such checksums?
> >
> > I'm not quite sure what checksums you want.
> >
> > Suppose you just do
> >
> > md5sum `gcc --print-file-name=cc1`
> >
> > ?
> >
> > That will give you a checksum without gcc going to the trouble of
> > generating it.
>
>
> What about the other files. (lto1, cc1plus...). On my Debian/Sid,
> % gcc --print-file-name=cc1
> /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/cc1
>
> But
> % ls -F /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.6.1/
> 32/ crtprec80.o libgcj-tools.so@ libquadmath.a
> cc1* ecj1* libgcj.so@ libquadmath.so@
> cc1plus* gengtype* libgcj.spec libssp_nonshared.a
> collect2* gtype.state libgcj_bc.so libstdc++.a
> crtbegin.o include/ libgcov.a libstdc++.so@
> crtbeginS.o include-fixed/ libgij.so@ libsupc++.a
> crtbeginT.o jc1* libgomp.a lto-wrapper*
> crtend.o jvgenmain* libgomp.so@ lto1*
> crtendS.o libgcc.a libgomp.spec plugin/
> crtfastmath.o libgcc_eh.a liblto_plugin.so@
> crtprec32.o libgcc_s.so@ liblto_plugin.so.0@
> crtprec64.o libgcc_s_32.so@ liblto_plugin.so.0.0.0
>
>
> How can I know which of the above files have some influence on the behavior of GCC
> plugins? (This is not true of all, crtbegin.o don't, and I would think that \
> gengtype don't neither, because I believe that its observable behavior changes only \
> from 4.6 to 4.7, but not much from 4.6.0 to 4.6.1).
Plugins only depends on all the header files (gtype.state might also be useful) that \
GCC allows plugins to see. After all, it's the only thing that's needed to build a \
plugin. If headers didn't changed but a .o file did because of some patch, you won't \
see any change when rebuilding the whole plugin (as plugin won't see them). Plugins \
are nothing more than shared object build with a bunch of header files. So you just \
need to correctly write header dependencies in your plugin Makefile and it will just \
work as needed.
Anyway, GCC plugin API brings you plugin_default_version_check which performs checks \
on revision number + build configuration. By using this check on runtime, you can be \
assured that the GCC that run the plugin fits the one that build it.
Romain Geissler
>
> I was suggesting adding some way to get the checksums of only the relevant files.
>
> Regards.
> --
> Basile STARYNKEVITCH http://starynkevitch.net/Basile/
> email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359
> 8, rue de la Faiencerie, 92340 Bourg La Reine, France
> *** opinions {are only mine, sont seulement les miennes} ***
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic