Re: How to run testsuite without building a complier

2007-10-05 Thread Mohamed Shafi
On 10/5/07, Brian Dessent <[EMAIL PROTECTED]> wrote:
> Mohamed Shafi wrote:
>
> > I want to know whether its possible to run the gcc testsuite without
> > actually building the complier.
> >
> > I have the dejagnu framework, compiler executables and i have the gcc
> > test suite. So is it possible to run the testsuite without building
> > the complier?
>
> Use the contrib/test_installed script.
>

I used the script and even tried to execute the runtest command
directly but the framework is not picking up the simulator for my
target.
If i run the testsuite using make check-gcc command from the build
directory everything is fine. What could be the problem?

Regards,
Shafi


Re: Profile information - CFG

2007-10-05 Thread Hariharan Sandanagobalane



Seongbae Park (???, ???) wrote:

On 9/27/07, Hariharan Sandanagobalane <[EMAIL PROTECTED]> wrote:

Hello,
I am implementing support for PBO on picochip port of GCC (not yet
submitted to mainline).

I see that GCC generates 2 files, xx.gcno and xx.gcda, containing the
profile information, the former containing the flow graph
information(compile-time) and later containing the edge profile
information(run-time). The CFG information seems to be getting emitted
quite early in the compilation process(pass_tree_profile). Is the
instrumentation also done at this time? If it is, as later phases change


Yes.


CFG, how is the instrumentation code sanity maintained? If it isnt, How


Instrumentation code sanity is naturally maintained
since those are global load/stores. The compiler transformations naturally
preserve the original semantic of the input
and since profile counters are global variables,
update to those are preserved to provide what unoptimized code would do.


would you correlate the CFG in gcno file to the actual CFG at
execution(that produces the gcda file)?



As for our port's case, we are already able to generate profile
information using our simulator/hardware, and it is not-too-difficult
for me to format that information into .gcno and .gcda files. But, i
guess the CFG that i would have at runtime would be quite different from
the CFG at initial phases of compilation (even at same optimization
level). Any suggestions on this? Would i be better off keeping the gcno
file that GCC generates, try to match the runtime-CFG to the one on the
gcno file and then write gcda file accordingly?


Not only better off, you *need* to provide information that matches
what's in gcno, otherwise gcc can't read that gcda nor use it.
How you match gcno is a different problem
- there's no guarantee that you'll be able to recover
enough information from the output assembly of gcc,
because without instrumentation, gcc can optimize away the control flow.

pass_tree_profile is when both the instrumentation (with -fprofile-generate)
and reading of the profile data (with -fprofile-use) are done.
The CFG has to remain the same between generate and use
 - otherwise the compiler isn't able to use the profile data.


Thanks for your help, seongbae.

I have managed to get the profile information formatted in the way .gcda 
would look. But, does GCC expect the profile to be accurate? Would it 
accept profile data that came out of sampling?


-Hari



Seongbae


Re: Profile information - CFG

2007-10-05 Thread Seongbae Park (박성배, 朴成培)
On 10/5/07, Hariharan Sandanagobalane <[EMAIL PROTECTED]> wrote:
>
>
> Seongbae Park (???, ???) wrote:
> > On 9/27/07, Hariharan Sandanagobalane <[EMAIL PROTECTED]> wrote:
> >> Hello,
> >> I am implementing support for PBO on picochip port of GCC (not yet
> >> submitted to mainline).
> >>
> >> I see that GCC generates 2 files, xx.gcno and xx.gcda, containing the
> >> profile information, the former containing the flow graph
> >> information(compile-time) and later containing the edge profile
> >> information(run-time). The CFG information seems to be getting emitted
> >> quite early in the compilation process(pass_tree_profile). Is the
> >> instrumentation also done at this time? If it is, as later phases change
> >
> > Yes.
> >
> >> CFG, how is the instrumentation code sanity maintained? If it isnt, How
> >
> > Instrumentation code sanity is naturally maintained
> > since those are global load/stores. The compiler transformations naturally
> > preserve the original semantic of the input
> > and since profile counters are global variables,
> > update to those are preserved to provide what unoptimized code would do.
> >
> >> would you correlate the CFG in gcno file to the actual CFG at
> >> execution(that produces the gcda file)?
> >
> >> As for our port's case, we are already able to generate profile
> >> information using our simulator/hardware, and it is not-too-difficult
> >> for me to format that information into .gcno and .gcda files. But, i
> >> guess the CFG that i would have at runtime would be quite different from
> >> the CFG at initial phases of compilation (even at same optimization
> >> level). Any suggestions on this? Would i be better off keeping the gcno
> >> file that GCC generates, try to match the runtime-CFG to the one on the
> >> gcno file and then write gcda file accordingly?
> >
> > Not only better off, you *need* to provide information that matches
> > what's in gcno, otherwise gcc can't read that gcda nor use it.
> > How you match gcno is a different problem
> > - there's no guarantee that you'll be able to recover
> > enough information from the output assembly of gcc,
> > because without instrumentation, gcc can optimize away the control flow.
> >
> > pass_tree_profile is when both the instrumentation (with -fprofile-generate)
> > and reading of the profile data (with -fprofile-use) are done.
> > The CFG has to remain the same between generate and use
> >  - otherwise the compiler isn't able to use the profile data.
>
> Thanks for your help, seongbae.
>
> I have managed to get the profile information formatted in the way .gcda
> would look. But, does GCC expect the profile to be accurate? Would it
> accept profile data that came out of sampling?
>
> -Hari

Gcc expects the profile to be "flow consistent".
i.e. at any basic block, the sum of execution count of all incoming edges
have to be equal to that of outgoing edges.

I have a patch adding a new option to tolerate inconsistency
but it will have to wait for stage1 opening in 4.4.
-- 
#pragma ident "Seongbae Park, compiler, http://seongbae.blogspot.com";


gcc-4.3-20071005 is now available

2007-10-05 Thread gccadmin
Snapshot gcc-4.3-20071005 is now available on
  ftp://gcc.gnu.org/pub/gcc/snapshots/4.3-20071005/
and on various mirrors, see http://gcc.gnu.org/mirrors.html for details.

This snapshot has been generated from the GCC 4.3 SVN branch
with the following options: svn://gcc.gnu.org/svn/gcc/trunk revision 129042

You'll find:

gcc-4.3-20071005.tar.bz2  Complete GCC (includes all of below)

gcc-core-4.3-20071005.tar.bz2 C front end and core compiler

gcc-ada-4.3-20071005.tar.bz2  Ada front end and runtime

gcc-fortran-4.3-20071005.tar.bz2  Fortran front end and runtime

gcc-g++-4.3-20071005.tar.bz2  C++ front end and runtime

gcc-java-4.3-20071005.tar.bz2 Java front end and runtime

gcc-objc-4.3-20071005.tar.bz2 Objective-C front end and runtime

gcc-testsuite-4.3-20071005.tar.bz2The GCC testsuite

Diffs from 4.3-20070928 are available in the diffs/ subdirectory.

When a particular snapshot is ready for public consumption the LATEST-4.3
link is updated and a message is sent to the gcc list.  Please do not use
a snapshot before it has been announced that way.


OpenMP and libgomp.so.1 problems

2007-10-05 Thread Michael Lothian
Hi

I've had major headaches on my gentoo system with GCC 4.2.1 using the
-fopenmp flag with GCC compiled with openmp support

The problem is:

libgomp.so.1: shared object cannot be dlopen()ed

Everything works great once OpenMP support is removed and -fopenmp is
removed from my flags.

I noticed that there is a fix for this in GCC 4.3 but will it also be
fixed in GCC 4.2.2?

Thanks for any insight you can offer

Mike


Is it ever possible to build libmudflap, libssp, or libgomp when inhibit_libc is set?

2007-10-05 Thread Steve Kenton
Is it ever possible to build libmudflap, libssp, or libgomp when 
inhibit_libc is set?

If not, is is reasonable to add a check to the top level configure to detect
situations that will cause gcc configure to set inhibit_libc and add those
libraries to either skipdirs or noconfigdirs.  (Which would be preferred?)
It looks like just a couple of lines in configure to exclude them 
automatically

if they can never build under that condition on any target.

Steve Kenton