Patchwork [solaris] : libgcc: add versions only to existing soft-fp symbols

login
register
mail settings
Submitter Uros Bizjak
Date Sept. 1, 2010, 6:55 a.m.
Message ID <AANLkTinCVB4-iS5CzkrodO=4cDK=jd2Uruj=mAKH2YSw@mail.gmail.com>
Download mbox | patch
Permalink /patch/63350/
State New
Headers show

Comments

Uros Bizjak - Sept. 1, 2010, 6:55 a.m.
Hello!

Some soft-fp symbols are present only on 32bit i386 targets and some
only on 64bit.  Attached patch adds versions only to existing symbols.
 See also [1].

2010-09-01  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/t-sol2 (__copysigntf3, __fabstf3): Disable for
	64bit targets.
	(__fixtfti, __fixunstfti, __floattitf, __floatuntitf): Enable only
	for 64bit targets.

OK for mainline?

[1] http://gcc.gnu.org/ml/gcc-patches/2010-08/msg02151.html

Uros.
Uros Bizjak - Sept. 3, 2010, 2:36 p.m.
On Wed, Sep 1, 2010 at 8:55 AM, Uros Bizjak <ubizjak@gmail.com> wrote:

> Some soft-fp symbols are present only on 32bit i386 targets and some
> only on 64bit.  Attached patch adds versions only to existing symbols.
>  See also [1].
>
> 2010-09-01  Uros Bizjak  <ubizjak@gmail.com>
>
>        * config/i386/t-sol2 (__copysigntf3, __fabstf3): Disable for
>        64bit targets.
>        (__fixtfti, __fixunstfti, __floattitf, __floatuntitf): Enable only
>        for 64bit targets.

Committed as obvious, after Rainer succesfully tested the patch on x86 solaris:

"A i386-pc-solaris2.10 bootstrap completed without regressions and the
versioning information in the 32 and 64-bit libgcc_s.so.1 is unchanged
(verified with pvs -dsvo)."

Uros.

Patch

Index: config/i386/libgcc-sol2.ver
===================================================================
--- config/i386/libgcc-sol2.ver	(revision 163716)
+++ config/i386/libgcc-sol2.ver	(working copy)
@@ -59,26 +59,38 @@ 
 
 GCC_4.5.0 {
   __addtf3
+%ifndef __x86_64__
   __copysigntf3
+%endif
   __divtc3
   __divtf3
   __eqtf2
   __extenddftf2
   __extendsftf2
   __extendxftf2
+%ifndef __x86_64__
   __fabstf2
+%endif
   __fixtfdi
   __fixtfsi
+%ifdef __x86_64__
   __fixtfti
+%endif
   __fixunstfdi
   __fixunstfsi
+%ifdef __x86_64__
   __fixunstfti
+%endif
   __floatditf
   __floatsitf
+%ifdef __x86_64__
   __floattitf
+%endif
   __floatunditf
   __floatunsitf
+%ifdef __x86_64__
   __floatuntitf
+%endif
   __getf2
   __gttf2
   __letf2