public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* -ftest-coverage and .got sections on alpha
@ 2000-05-28 12:36 Brad Lucier
  2000-05-28 15:08 ` Martin v. Loewis
  2000-05-28 16:19 ` Richard Henderson
  0 siblings, 2 replies; 6+ messages in thread
From: Brad Lucier @ 2000-05-28 12:36 UTC (permalink / raw)
  To: gcc; +Cc: lucier

I have some large program files that compile fine on alphaev6 unless
I use -ftest-coverage and -fprofile-arcs to prepare them for gcov
analysis.  When I do that I get the infamous .got section over 64K
message from the linux loader.  This implies to me that gcc is emitting
many symbols that eventually get into the .o file just for test coverage.

This general problem is dicsussed regularly on the RH alpha-linux mailing
list and the general advice is to place many small objects into an
array, etc., so that they don't require entries in the .got table.
Would it be possible, or a good idea, to do something like this
for the extra information that -ftest-coverage and -fprofile-arcs places
into the .o file?

Brad Lucier

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: -ftest-coverage and .got sections on alpha
  2000-05-28 12:36 -ftest-coverage and .got sections on alpha Brad Lucier
@ 2000-05-28 15:08 ` Martin v. Loewis
  2000-05-28 16:09   ` Richard Henderson
  2000-05-28 16:19 ` Richard Henderson
  1 sibling, 1 reply; 6+ messages in thread
From: Martin v. Loewis @ 2000-05-28 15:08 UTC (permalink / raw)
  To: lucier; +Cc: gcc, lucier

> I have some large program files that compile fine on alphaev6 unless
> I use -ftest-coverage and -fprofile-arcs to prepare them for gcov
> analysis.  When I do that I get the infamous .got section over 64K
> message from the linux loader. 

Not being very familiar with that architecture: Where does this limit
come from, and how could it be removed? I find it very strange that
a 64 bit target suffers from a 16 bit limit...

Regards,
Martin

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: -ftest-coverage and .got sections on alpha
  2000-05-28 15:08 ` Martin v. Loewis
@ 2000-05-28 16:09   ` Richard Henderson
  0 siblings, 0 replies; 6+ messages in thread
From: Richard Henderson @ 2000-05-28 16:09 UTC (permalink / raw)
  To: Martin v. Loewis; +Cc: lucier, gcc

On Mon, May 29, 2000 at 12:07:08AM +0200, Martin v. Loewis wrote:
> Not being very familiar with that architecture: Where does this limit
> come from, and how could it be removed?

From the 16-bit memory offset in the instruction.  The .got limit
is per-object file, but apparently Brad's files are large enough 
that he's hitting it anyway.


r~

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: -ftest-coverage and .got sections on alpha
  2000-05-28 12:36 -ftest-coverage and .got sections on alpha Brad Lucier
  2000-05-28 15:08 ` Martin v. Loewis
@ 2000-05-28 16:19 ` Richard Henderson
  2000-05-28 18:25   ` Brad Lucier
  1 sibling, 1 reply; 6+ messages in thread
From: Richard Henderson @ 2000-05-28 16:19 UTC (permalink / raw)
  To: Brad Lucier; +Cc: gcc

On Sun, May 28, 2000 at 02:36:53PM -0500, Brad Lucier wrote:
> When I do that I get the infamous .got section over 64K message from
> the linux loader.  This implies to me that gcc is emitting many symbols
> that eventually get into the .o file just for test coverage.

I just looked again.  It isn't.  It's referencing exactly 2,
no matter the size of the input.


r~

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: -ftest-coverage and .got sections on alpha
  2000-05-28 16:19 ` Richard Henderson
@ 2000-05-28 18:25   ` Brad Lucier
  2000-05-28 18:28     ` Richard Henderson
  0 siblings, 1 reply; 6+ messages in thread
From: Brad Lucier @ 2000-05-28 18:25 UTC (permalink / raw)
  To: Richard Henderson; +Cc: Brad Lucier, gcc

> 
> On Sun, May 28, 2000 at 02:36:53PM -0500, Brad Lucier wrote:
> > When I do that I get the infamous .got section over 64K message from
> > the linux loader.  This implies to me that gcc is emitting many symbols
> > that eventually get into the .o file just for test coverage.
> 
> I just looked again.  It isn't.  It's referencing exactly 2,
> no matter the size of the input.

Sorry, I was confused, I had this difficulty (and still have this difficulty)
ith 2.95.1, I cannot reproduce it with the development compiler.

Brad

With the 2.95.1 compiler:

popov-201% gcc -O0 -ftest-coverage -fprofile-arcs -mieee -D___SINGLE_HOST -c _meroon.c all.c test.c test_.c
popov-202% gcc -O0 -ftest-coverage -fprofile-arcs -mieee -D___SINGLE_HOST -o test  _meroon.o all.o test.o test_.o -lgambc -lm -ldl
/export/u10/binutils-2.9.5.0.16/bin/ld: _meroon.o: .got subsegment exceeds 64K (size 91000)
/export/u10/binutils-2.9.5.0.16/bin/ld: failed to set dynamic section sizes: No such file or directory
collect2: ld returned 1 exit status

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: -ftest-coverage and .got sections on alpha
  2000-05-28 18:25   ` Brad Lucier
@ 2000-05-28 18:28     ` Richard Henderson
  0 siblings, 0 replies; 6+ messages in thread
From: Richard Henderson @ 2000-05-28 18:28 UTC (permalink / raw)
  To: Brad Lucier; +Cc: gcc

On Sun, May 28, 2000 at 08:25:12PM -0500, Brad Lucier wrote:
> Sorry, I was confused, I had this difficulty (and still have this difficulty)
> ith 2.95.1, I cannot reproduce it with the development compiler.

Ah, yes.  Before a recent rewrite of that code we did reference
lots of little 8-byte pieces.


r~

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2000-05-28 18:28 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-05-28 12:36 -ftest-coverage and .got sections on alpha Brad Lucier
2000-05-28 15:08 ` Martin v. Loewis
2000-05-28 16:09   ` Richard Henderson
2000-05-28 16:19 ` Richard Henderson
2000-05-28 18:25   ` Brad Lucier
2000-05-28 18:28     ` Richard Henderson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).