public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/30774]  New: [4.1 regression] ld: fatal: too many symbols require `small' PIC references
@ 2007-02-12 14:37 ghazi at gcc dot gnu dot org
  2007-02-12 14:39 ` [Bug middle-end/30774] " ghazi at gcc dot gnu dot org
                   ` (10 more replies)
  0 siblings, 11 replies; 12+ messages in thread
From: ghazi at gcc dot gnu dot org @ 2007-02-12 14:37 UTC (permalink / raw)
  To: gcc-bugs

Several testsuite failures have arisen on solaris2.10 when using -fpic (not
-fPIC).  The problem has gotten worse over time and I don't believe the
testcases are changing, so GCC has gotten worse for some reason.  The logfiles
look like this:

ld: fatal: too many symbols require `small' PIC references:
        have 2144, maximum 2048 -- recompile some modules -K PIC.
collect2: ld returned 1 exit status
compiler exited with status 1

There are several failures on 4.1 and all later branches of this form.  Here
are the 4.1 failures on sparc32 that receive this message:

FAIL: tmpdir-gcc.dg-struct-layout-1/t002 c_compat_x_tst.o-c_compat_y_tst.o link
FAIL: tmpdir-g++.dg-struct-layout-1/t002 cp_compat_x_tst.o-cp_compat_y_tst.o
link
FAIL: gfortran.dg/cray_pointers_2.f90  -O0  (test for excess errors)

on sparc64, in addition to the above errors I also get these:
FAIL: tmpdir-gcc.dg-struct-layout-1/t001 c_compat_x_tst.o-c_compat_y_tst.o link
FAIL: tmpdir-gcc.dg-struct-layout-1/t003 c_compat_x_tst.o-c_compat_y_tst.o link
FAIL: tmpdir-gcc.dg-struct-layout-1/t024 c_compat_x_tst.o-c_compat_y_tst.o link
FAIL: tmpdir-gcc.dg-struct-layout-1/t025 c_compat_x_tst.o-c_compat_y_tst.o link
FAIL: tmpdir-gcc.dg-struct-layout-1/t026 c_compat_x_tst.o-c_compat_y_tst.o link
FAIL: tmpdir-gcc.dg-struct-layout-1/t027 c_compat_x_tst.o-c_compat_y_tst.o link
FAIL: tmpdir-gcc.dg-struct-layout-1/t028 c_compat_x_tst.o-c_compat_y_tst.o link
FAIL: tmpdir-g++.dg-struct-layout-1/t001 cp_compat_x_tst.o-cp_compat_y_tst.o
link
FAIL: tmpdir-g++.dg-struct-layout-1/t003 cp_compat_x_tst.o-cp_compat_y_tst.o
link
FAIL: tmpdir-g++.dg-struct-layout-1/t024 cp_compat_x_tst.o-cp_compat_y_tst.o
link
FAIL: tmpdir-g++.dg-struct-layout-1/t025 cp_compat_x_tst.o-cp_compat_y_tst.o
link
FAIL: tmpdir-g++.dg-struct-layout-1/t026 cp_compat_x_tst.o-cp_compat_y_tst.o
link
FAIL: tmpdir-g++.dg-struct-layout-1/t027 cp_compat_x_tst.o-cp_compat_y_tst.o
link
FAIL: gfortran.dg/cray_pointers_2.f90  -O1  (test for excess errors)
FAIL: gfortran.dg/cray_pointers_2.f90  -Os  (test for excess errors)

Since it happens across multiple languages, I'm guessing it's something in the
middle or backend.


-- 
           Summary: [4.1 regression] ld: fatal: too many symbols require
                    `small' PIC references
           Product: gcc
           Version: 4.1.2
            Status: UNCONFIRMED
          Keywords: link-failure
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: ghazi at gcc dot gnu dot org
GCC target triplet: sparc-sun-solaris2.10


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30774


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

* [Bug middle-end/30774] [4.1 regression] ld: fatal: too many symbols require `small' PIC references
  2007-02-12 14:37 [Bug middle-end/30774] New: [4.1 regression] ld: fatal: too many symbols require `small' PIC references ghazi at gcc dot gnu dot org
@ 2007-02-12 14:39 ` ghazi at gcc dot gnu dot org
  2007-02-12 14:57 ` ghazi at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: ghazi at gcc dot gnu dot org @ 2007-02-12 14:39 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from ghazi at gcc dot gnu dot org  2007-02-12 14:39 -------
This didn't seem to arise in 4.0.x, but all later branches have the problem.


-- 

ghazi at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to fail|                            |4.1.2 4.2.0 4.3.0
      Known to work|                            |4.0.4


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30774


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

* [Bug middle-end/30774] [4.1 regression] ld: fatal: too many symbols require `small' PIC references
  2007-02-12 14:37 [Bug middle-end/30774] New: [4.1 regression] ld: fatal: too many symbols require `small' PIC references ghazi at gcc dot gnu dot org
  2007-02-12 14:39 ` [Bug middle-end/30774] " ghazi at gcc dot gnu dot org
@ 2007-02-12 14:57 ` ghazi at gcc dot gnu dot org
  2007-02-12 15:22 ` ghazi at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: ghazi at gcc dot gnu dot org @ 2007-02-12 14:57 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from ghazi at gcc dot gnu dot org  2007-02-12 14:56 -------
Correction, on 4.0.3 & 4.0.4, I get one error:
FAIL: tmpdir-gcc.dg-struct-layout-1/t002 c_compat_x_tst.o-c_compat_y_tst.o link
http://gcc.gnu.org/ml/gcc-testresults/2006-03/msg00732.html
http://gcc.gnu.org/ml/gcc-testresults/2007-02/msg00185.html


As I noted here:
http://gcc.gnu.org/ml/gcc/2007-02/msg00211.html

exactly one of the three sparc32 errors arose between June 18 and June 22, 2006
on the 4.1 branch.  Here are the testsuite posts:

http://gcc.gnu.org/ml/gcc-testresults/2006-06/msg01003.html
http://gcc.gnu.org/ml/gcc-testresults/2006-06/msg01167.html

So far only the fortran one regressed between those dates, the C and C++
sparc32 errors were already there on the 18th.  It doesn't seem to be any one
particular patch that causes the overall problem since they didn't all happen
at the same time.  But I'd like to understand why these are getting worse.


-- 

ghazi at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|4.0.4                       |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30774


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

* [Bug middle-end/30774] [4.1 regression] ld: fatal: too many symbols require `small' PIC references
  2007-02-12 14:37 [Bug middle-end/30774] New: [4.1 regression] ld: fatal: too many symbols require `small' PIC references ghazi at gcc dot gnu dot org
  2007-02-12 14:39 ` [Bug middle-end/30774] " ghazi at gcc dot gnu dot org
  2007-02-12 14:57 ` ghazi at gcc dot gnu dot org
@ 2007-02-12 15:22 ` ghazi at gcc dot gnu dot org
  2007-02-21 15:23 ` rguenth at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: ghazi at gcc dot gnu dot org @ 2007-02-12 15:22 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from ghazi at gcc dot gnu dot org  2007-02-12 15:22 -------
Hmm on June *15th*, the -fbounds-check flag was added to the fortran testcase
gfortran.dg/cray_pointers_2.f90, and taking that flag out of today's sources
allows the testcase to pass with -fpic.

However clearly my checkout on the *18th* (which had -fbounds-check on it) the
testcase somehow passed as well.  So I don't think adding that flag was the
actual cause of this failure.  But it certainly affects the number of symbols
drastically.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30774


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

* [Bug middle-end/30774] [4.1 regression] ld: fatal: too many symbols require `small' PIC references
  2007-02-12 14:37 [Bug middle-end/30774] New: [4.1 regression] ld: fatal: too many symbols require `small' PIC references ghazi at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2007-02-12 15:22 ` ghazi at gcc dot gnu dot org
@ 2007-02-21 15:23 ` rguenth at gcc dot gnu dot org
  2008-07-04 16:00 ` [Bug middle-end/30774] [4.2/4.3/4.4 " jsm28 at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2007-02-21 15:23 UTC (permalink / raw)
  To: gcc-bugs



-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |4.1.3


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30774


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

* [Bug middle-end/30774] [4.2/4.3/4.4 regression] ld: fatal: too many symbols require `small' PIC references
  2007-02-12 14:37 [Bug middle-end/30774] New: [4.1 regression] ld: fatal: too many symbols require `small' PIC references ghazi at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2007-02-21 15:23 ` rguenth at gcc dot gnu dot org
@ 2008-07-04 16:00 ` jsm28 at gcc dot gnu dot org
  2008-07-10 13:41 ` jakub at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: jsm28 at gcc dot gnu dot org @ 2008-07-04 16:00 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from jsm28 at gcc dot gnu dot org  2008-07-04 15:59 -------
Closing 4.1 branch, but comments suggest present on later branches as well.


-- 

jsm28 at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to fail|4.1.2 4.2.0 4.3.0           |4.1.2 4.1.3 4.2.0 4.3.0
            Summary|[4.1 regression] ld: fatal: |[4.2/4.3/4.4 regression] ld:
                   |too many symbols require    |fatal: too many symbols
                   |`small' PIC references      |require `small' PIC
                   |                            |references
   Target Milestone|4.1.3                       |4.2.5


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30774


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

* [Bug middle-end/30774] [4.2/4.3/4.4 regression] ld: fatal: too many symbols require `small' PIC references
  2007-02-12 14:37 [Bug middle-end/30774] New: [4.1 regression] ld: fatal: too many symbols require `small' PIC references ghazi at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2008-07-04 16:00 ` [Bug middle-end/30774] [4.2/4.3/4.4 " jsm28 at gcc dot gnu dot org
@ 2008-07-10 13:41 ` jakub at gcc dot gnu dot org
  2008-07-30 15:05 ` jakub at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: jakub at gcc dot gnu dot org @ 2008-07-10 13:41 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from jakub at gcc dot gnu dot org  2008-07-10 13:40 -------
The generated testcases actually changed, several times, so I fail to see
where is a bug.  Unless you compare the exactly same source between two
compilers
and one hits the ceiling for -fpic and one doesn't, there is no bug.


-- 

jakub at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |WAITING


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30774


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

* [Bug middle-end/30774] [4.2/4.3/4.4 regression] ld: fatal: too many symbols require `small' PIC references
  2007-02-12 14:37 [Bug middle-end/30774] New: [4.1 regression] ld: fatal: too many symbols require `small' PIC references ghazi at gcc dot gnu dot org
                   ` (5 preceding siblings ...)
  2008-07-10 13:41 ` jakub at gcc dot gnu dot org
@ 2008-07-30 15:05 ` jakub at gcc dot gnu dot org
  2009-03-31 20:07 ` [Bug middle-end/30774] [4.3/4.4/4.5 " jsm28 at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: jakub at gcc dot gnu dot org @ 2008-07-30 15:05 UTC (permalink / raw)
  To: gcc-bugs



-- 

jakub at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P4


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30774


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

* [Bug middle-end/30774] [4.3/4.4/4.5 regression] ld: fatal: too many symbols require `small' PIC references
  2007-02-12 14:37 [Bug middle-end/30774] New: [4.1 regression] ld: fatal: too many symbols require `small' PIC references ghazi at gcc dot gnu dot org
                   ` (6 preceding siblings ...)
  2008-07-30 15:05 ` jakub at gcc dot gnu dot org
@ 2009-03-31 20:07 ` jsm28 at gcc dot gnu dot org
  2009-08-04 12:35 ` rguenth at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  10 siblings, 0 replies; 12+ messages in thread
From: jsm28 at gcc dot gnu dot org @ 2009-03-31 20:07 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from jsm28 at gcc dot gnu dot org  2009-03-31 20:07 -------
Closing 4.2 branch.


-- 

jsm28 at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[4.2/4.3/4.4/4.5 regression]|[4.3/4.4/4.5 regression] ld:
                   |ld: fatal: too many symbols |fatal: too many symbols
                   |require `small' PIC         |require `small' PIC
                   |references                  |references
   Target Milestone|4.2.5                       |4.3.4


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30774


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

* [Bug middle-end/30774] [4.3/4.4/4.5 regression] ld: fatal: too many symbols require `small' PIC references
  2007-02-12 14:37 [Bug middle-end/30774] New: [4.1 regression] ld: fatal: too many symbols require `small' PIC references ghazi at gcc dot gnu dot org
                   ` (7 preceding siblings ...)
  2009-03-31 20:07 ` [Bug middle-end/30774] [4.3/4.4/4.5 " jsm28 at gcc dot gnu dot org
@ 2009-08-04 12:35 ` rguenth at gcc dot gnu dot org
  2010-05-22 18:18 ` [Bug middle-end/30774] [4.3/4.4/4.5/4.6 " rguenth at gcc dot gnu dot org
  2010-09-20 22:08 ` ebotcazou at gcc dot gnu dot org
  10 siblings, 0 replies; 12+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-08-04 12:35 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from rguenth at gcc dot gnu dot org  2009-08-04 12:28 -------
GCC 4.3.4 is being released, adjusting target milestone.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.3.4                       |4.3.5


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30774


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

* [Bug middle-end/30774] [4.3/4.4/4.5/4.6 regression] ld: fatal: too many symbols require `small' PIC references
  2007-02-12 14:37 [Bug middle-end/30774] New: [4.1 regression] ld: fatal: too many symbols require `small' PIC references ghazi at gcc dot gnu dot org
                   ` (8 preceding siblings ...)
  2009-08-04 12:35 ` rguenth at gcc dot gnu dot org
@ 2010-05-22 18:18 ` rguenth at gcc dot gnu dot org
  2010-09-20 22:08 ` ebotcazou at gcc dot gnu dot org
  10 siblings, 0 replies; 12+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2010-05-22 18:18 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #8 from rguenth at gcc dot gnu dot org  2010-05-22 18:11 -------
GCC 4.3.5 is being released, adjusting target milestone.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|4.3.5                       |4.3.6


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30774


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

* [Bug middle-end/30774] [4.3/4.4/4.5/4.6 regression] ld: fatal: too many symbols require `small' PIC references
  2007-02-12 14:37 [Bug middle-end/30774] New: [4.1 regression] ld: fatal: too many symbols require `small' PIC references ghazi at gcc dot gnu dot org
                   ` (9 preceding siblings ...)
  2010-05-22 18:18 ` [Bug middle-end/30774] [4.3/4.4/4.5/4.6 " rguenth at gcc dot gnu dot org
@ 2010-09-20 22:08 ` ebotcazou at gcc dot gnu dot org
  10 siblings, 0 replies; 12+ messages in thread
From: ebotcazou at gcc dot gnu dot org @ 2010-09-20 22:08 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #9 from ebotcazou at gcc dot gnu dot org  2010-09-20 22:07 -------
As per comment #5.


-- 

ebotcazou at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|WAITING                     |RESOLVED
         Resolution|                            |INVALID


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30774


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

end of thread, other threads:[~2010-09-20 22:08 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-02-12 14:37 [Bug middle-end/30774] New: [4.1 regression] ld: fatal: too many symbols require `small' PIC references ghazi at gcc dot gnu dot org
2007-02-12 14:39 ` [Bug middle-end/30774] " ghazi at gcc dot gnu dot org
2007-02-12 14:57 ` ghazi at gcc dot gnu dot org
2007-02-12 15:22 ` ghazi at gcc dot gnu dot org
2007-02-21 15:23 ` rguenth at gcc dot gnu dot org
2008-07-04 16:00 ` [Bug middle-end/30774] [4.2/4.3/4.4 " jsm28 at gcc dot gnu dot org
2008-07-10 13:41 ` jakub at gcc dot gnu dot org
2008-07-30 15:05 ` jakub at gcc dot gnu dot org
2009-03-31 20:07 ` [Bug middle-end/30774] [4.3/4.4/4.5 " jsm28 at gcc dot gnu dot org
2009-08-04 12:35 ` rguenth at gcc dot gnu dot org
2010-05-22 18:18 ` [Bug middle-end/30774] [4.3/4.4/4.5/4.6 " rguenth at gcc dot gnu dot org
2010-09-20 22:08 ` ebotcazou at gcc dot gnu dot org

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).