Bug 15626 - GCC 3.4 emits "ld: warning: relocation error: R_SPARC_UA32"
Summary: GCC 3.4 emits "ld: warning: relocation error: R_SPARC_UA32"
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 3.4.0
: P3 normal
Target Milestone: 3.4.1
Assignee: Eric Botcazou
URL:
Keywords: documentation
Depends on:
Blocks:
 
Reported: 2004-05-24 04:18 UTC by eggert
Modified: 2005-07-23 22:49 UTC (History)
1 user (show)

See Also:
Host: sparc-sun-solaris2.9
Target: sparc-sun-solaris2.9
Build: sparc-sun-solaris2.9
Known to work:
Known to fail:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description eggert 2004-05-24 04:18:33 UTC
This is a follow up to GCC bug c++/15599, which was rejected as not a
GCC bug, so I'm suggesting a fix to the installation documentation instead.

The problem is that GCC 3.4.0 won't build groff 1.19.1 on Solaris 8 or
9 (or probably Solaris 7; I haven't tried) in 32-bit mode without
generating some Sun linker diagnostics due to the debugging
information being mishandled by the Sun assembler.  I suggest adding a
note about this problem in the installation documentation, as follows.
This patch also updates a couple of other obsolete Solaris items.

2004-05-23  Paul Eggert  <eggert@cs.ucla.edu>

	* doc/install.texi (sparc-sun-solaris2*): GCC 3.4 changed the
	default debugging format from STABS to DWARF-2, and this causes
	problems with C++ compiles with -g on 32-bit Solaris 7 and later.
	Mention -gstabs+ as a workaround.
	(sparc-sun-solaris2.7): Update revision info for Sun patch 106950.  

Index: gcc/doc/install.texi
===================================================================
RCS file: /cvsroot/gcc/gcc/gcc/doc/install.texi,v
retrieving revision 1.280
diff -p -u -r1.280 install.texi
--- gcc/doc/install.texi	13 May 2004 06:40:25 -0000	1.280
+++ gcc/doc/install.texi	24 May 2004 04:10:53 -0000
@@ -3363,7 +3363,7 @@ supported as cross-compilation target on
 <hr />
 @end html
 @c Please use Solaris 2 to refer to all release of Solaris, starting
-@c with 2.0 until 2.6, 7, and 8.  Solaris 1 was a marketing name for
+@c with 2.0 until 2.6, then 7, 8, etc.  Solaris 1 was a marketing name for
 @c SunOS 4 releases which we don't use to avoid confusion.  Solaris
 @c alone is too unspecific and must be avoided.
 @heading @anchor{*-*-solaris2*}*-*-solaris2*
@@ -3472,6 +3472,17 @@ and 5.5 (Sun ONE Studio 8) of the Sun co
 failure in form of a miscompilation of the stage1 compiler by the Sun
 compiler.  This is Sun bug 4974440.  This is fixed with patch 112760-07.
 
+GCC 3.4 changed the default debugging format from STABS to DWARF-2 for
+32-bit code on Solaris 7 and later.  If you are using the Sun
+assembler, this change apparently runs afoul of Sun bug 4910101, for
+which (as of 2004-05-23) there is no fix.  A symptom of the problem is
+that you cannot compile C++ programs like @command{groff} 1.19.1
+without getting messages like @samp{ld: warning: relocation error:
+R_SPARC_UA32 @dots{} external symbolic relocation against
+non-allocatable section .debug_info; cannot be processed at runtime:
+relocation ignored}.  To work around this problem, compile with
+@option{-gstabs+} instead of plain @option{-g}.
+
 @html
 <hr />
 @end html
@@ -3508,7 +3519,7 @@ run code generated by GCC; it doesn't su
 the hosts that run GCC itself.  Second, Sun says that 106950-03 is
 only a partial fix for bug 4210064, but Sun doesn't know whether the
 partial fix is adequate for GCC@.  Revision -08 or later should fix
-the bug.  The current (as of 2001-09-24) revision is -14, and is included in
+the bug.  The current (as of 2004-05-23) revision is -24, and is included in
 the Solaris 7 Recommended Patch Cluster.
 @end itemize
Comment 1 Eric Botcazou 2004-05-24 05:54:23 UTC
I ran into it too (after 3.4.0 had been released).
Comment 2 CVS Commits 2004-06-01 11:28:58 UTC
Subject: Bug 15626

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	ebotcazou@gcc.gnu.org	2004-06-01 11:28:50

Modified files:
	gcc            : ChangeLog 
	gcc/doc        : install.texi 

Log message:
	PR target/15626
	* doc/install.texi (sparc-sun-solaris2*): Document messages issued
	by the Sun linker in conjunction with the Sun assembler.
	(sparc-sun-solaris2.7): Update revision info for Sun patch 106950.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.3813&r2=2.3814
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/doc/install.texi.diff?cvsroot=gcc&r1=1.281&r2=1.282

Comment 3 CVS Commits 2004-06-01 11:33:55 UTC
Subject: Bug 15626

CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	gcc-3_4-branch
Changes by:	ebotcazou@gcc.gnu.org	2004-06-01 11:33:40

Modified files:
	gcc            : ChangeLog 
	gcc/doc        : install.texi 

Log message:
	PR target/15626
	* doc/install.texi (sparc-sun-solaris2*): Document messages issued
	by the Sun linker in conjunction with the Sun assembler.
	(sparc-sun-solaris2.7): Update revision info for Sun patch 106950.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=2.2326.2.464&r2=2.2326.2.465
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/doc/install.texi.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.248.4.19&r2=1.248.4.20

Comment 4 Eric Botcazou 2004-06-01 11:35:11 UTC
Patch applied.  Thanks.