This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]