Bug 34977 - GCC 3.4.6 link fails with undefined reference to .hidden symbol __floatdidf (libgcc.a)
Summary: GCC 3.4.6 link fails with undefined reference to .hidden symbol __floatdidf (...
Status: RESOLVED INVALID
Alias: None
Product: gcc
Classification: Unclassified
Component: c++ (show other bugs)
Version: 3.4.6
: P2 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-01-26 01:10 UTC by Reid Madsen
Modified: 2008-01-26 01:15 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 Reid Madsen 2008-01-26 01:10:41 UTC
	Building Regina-REXX-3.4 from source distribution.  The linker fails with the following error:

/usr/local/bin/gcc  -O2 -I/usr/local/include  -pthreads -L/usr/local/lib -o execiser32 execiser.o -L. -lregina -lfl  -lm -lnsl -lsocket -lcrypt -ldl   -lpthread
/usr/local/bin/ld: execiser32: hidden symbol `__floatdidf' in /usr/local/lib/gcc/sparc-sun-solaris2.9/3.4.6/libgcc.a(_floatdidf.oS) is referenced by DSO
/usr/local/bin/ld: final link failed: Nonrepresentable section on output
collect2: ld returned 1 exit status

I've verified that the compiled code has undefined references to the __floatdidf function.

Environment:
System: SunOS arcade 5.9 Generic_122300-13 sun4u sparc SUNW,Sun-Fire-V490
Architecture: sun4

	
host: sparc-sun-solaris2.9
build: sparc-sun-solaris2.9
target: sparc-sun-solaris2.9
configured with: ../src/gcc-3.4.6/configure --prefix=/sea/compilers/native/gcc-3.4.6 --with-local-prefix=/sea/local --enable-threads --enable-languages=c,c++ --disable-multilib --with-gnu-as --with-gnu-ld --with-as=/sea/compilers/native/gcc-3.4.6/bin/as --with-ld=/sea/compilers/native/gcc-3.4.6/bin/ld

How-To-Repeat:
	Untar REXX
	configure --enable-32bit
	make
Comment 1 Reid Madsen 2008-01-26 01:10:41 UTC
Fix:
	I know of no workaround.
Comment 2 Andrew Pinski 2008-01-26 01:15:13 UTC
>/usr/local/bin/ld: execiser32: hidden symbol `__floatdidf' in
/usr/local/lib/gcc/sparc-sun-solaris2.9/3.4.6/libgcc.a(_floatdidf.oS) is
referenced by DSO


This means one of the libraries are you are using did not link against libgcc.  This is not a bug in GCC but rather how the build one of the libraries is done, most likely regina.
Comment 3 reid.madsen@tektronix.com 2008-01-26 17:29:37 UTC
Subject: RE:  GCC 3.4.6 link fails with undefined reference to .hidden symbol __floatdidf (libgcc.a)

I now understand what was going on...

The configure script for REXX was incorrectly linking the regina.so
using 'ld' instead of 'gcc'.  Thus, all the libraries that gcc would
normally add were missing from the ld command line.

I corrected the configuration to use gcc to perform the link of
regina.so and that fixed the problem.

I've seen many threads on this issue.  Any way to publicize the
solution?

Reid

-----Original Message-----
From: pinskia at gcc dot gnu dot org [mailto:gcc-bugzilla@gcc.gnu.org] 
Sent: Friday, January 25, 2008 7:15 PM
To: Reid.Madsen@tek.com
Subject: [Bug c++/34977] GCC 3.4.6 link fails with undefined reference
to .hidden symbol __floatdidf (libgcc.a)



------- Comment #2 from pinskia at gcc dot gnu dot org  2008-01-26 01:15
-------
>/usr/local/bin/ld: execiser32: hidden symbol `__floatdidf' in
/usr/local/lib/gcc/sparc-sun-solaris2.9/3.4.6/libgcc.a(_floatdidf.oS) is
referenced by DSO


This means one of the libraries are you are using did not link against
libgcc. 
This is not a bug in GCC but rather how the build one of the libraries
is done, most likely regina.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
------------------------------------------------------------------------
----
           Severity|critical                    |normal
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |INVALID


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

------- You are receiving this mail because: ------- You reported the
bug, or are watching the reporter.