This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: corrections to recent profile-arcs change
- From: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
- To: jh at suse dot cz (Jan Hubicka)
- Cc: gcc at gcc dot gnu dot org, rth at redhat dot com
- Date: Sun, 12 May 2002 10:36:22 -0400 (EDT)
- Subject: Re: corrections to recent profile-arcs change
> > FAIL: gcc.misc-tests/gcov-1.c (test for excess errors)
> > WARNING: gcc.misc-tests/gcov-1.c compilation failed to produce executable
> > FAIL: gcc.misc-tests/gcov-1.c gcov failed: Could not open data file gcov-1.da.
> > Assuming that all execution counts are zero.
>
> What hapepnds to the compilation? Why the executable is not produced?
All the C failures generated errors similar to this:
Executing on host: /xxx/gnu/gcc-3.2/objdir/gcc/xgcc -B/xxx/gnu/gcc-3.2/objdir/gc
c/ /xxx/gnu/gcc-3.2/gcc/gcc/testsuite/gcc.misc-tests/gcov-1.c -fprofile-arcs -
ftest-coverage -lm -o ./gcov-1.exe (timeout = 300)
/var/tmp/ccd0q6hV.c:26: size of variable `*L$PBX0002' is too large
collect2: gcc returned 1 exit status
compiler exited with status 1
output is:
/var/tmp/ccd0q6hV.c:26: size of variable `*L$PBX0002' is too large
collect2: gcc returned 1 exit status
FAIL: gcc.misc-tests/gcov-1.c (test for excess errors)
Excess errors:
/var/tmp/ccd0q6hV.c:26: size of variable `*L$PBX0002' is too large
collect2: gcc returned 1 exit status
WARNING: gcc.misc-tests/gcov-1.c compilation failed to produce executable
This appears to be a problem with the .c file being generated by collect2.
There aren't any errors in the initial compilation and we have the
following definition for L$PBX0002:
.align 8
L$PBX0002
.blockz 40
I see collect2 tries to compile the code to init constructors as follows:
../xgcc -x c -c -o /var/tmp//ccqqBDR3.o -B../ -fprofile-arcs -ftest-coverage -fno-exceptions -w /var/tmp//ccYuin0B.c
and this is where the above error occurs. Here is what ccYuin0B.c looks like:
#ifdef __cplusplus
extern "C" {
#endif
typedef void entry_pt();
extern entry_pt x4 __asm__ ("_GLOBAL__I_noopGCOV");
entry_pt * __CTOR_LIST__[] = {
(entry_pt *) 1,
x4,
0
};
entry_pt * __DTOR_LIST__[] = {
(entry_pt *) 0,
0
};
extern entry_pt __main;
entry_pt *__main_reference = __main;
#ifdef __cplusplus
}
#endif
Dave
--
J. David Anglin dave.anglin@nrc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6605)