]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Add CFI to x86 ceil / floor / trunc (bug 16681).
authorJoseph Myers <joseph@codesourcery.com>
Mon, 16 Jun 2014 22:54:46 +0000 (22:54 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Mon, 16 Jun 2014 22:54:46 +0000 (22:54 +0000)
This patch adds CFI to the sysdeps/i386/fpu/ implementations of ceil,
floor and trunc functions, for consistency with other x86 .S files in
glibc which have CFI for stack adjustments.

Tested x86.

[BZ #16681]
* sysdeps/i386/fpu/s_ceil.S (__ceil): Add CFI.
* sysdeps/i386/fpu/s_ceilf.S (__ceilf): Likewise.
* sysdeps/i386/fpu/s_ceill.S (__ceill): Likewise.
* sysdeps/i386/fpu/s_floor.S (__floor): Likewise.
* sysdeps/i386/fpu/s_floorf.S (__floorf): Likewise.
* sysdeps/i386/fpu/s_floorl.S (__floorl): Likewise.
* sysdeps/i386/fpu/s_trunc.S (__trunc): Likewise.
* sysdeps/i386/fpu/s_truncf.S (__truncf): Likewise.
* sysdeps/i386/fpu/s_truncl.S (__truncl): Likewise.

ChangeLog
NEWS
sysdeps/i386/fpu/s_ceil.S
sysdeps/i386/fpu/s_ceilf.S
sysdeps/i386/fpu/s_ceill.S
sysdeps/i386/fpu/s_floor.S
sysdeps/i386/fpu/s_floorf.S
sysdeps/i386/fpu/s_floorl.S
sysdeps/i386/fpu/s_trunc.S
sysdeps/i386/fpu/s_truncf.S
sysdeps/i386/fpu/s_truncl.S

index 43d183fd202818b62ede7a85979526fa36a0ab00..f8723fd944e6e59bc669d927e53f5f0d87f9b343 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2014-06-16  Joseph Myers  <joseph@codesourcery.com>
+
+       [BZ #16681]
+       * sysdeps/i386/fpu/s_ceil.S (__ceil): Add CFI.
+       * sysdeps/i386/fpu/s_ceilf.S (__ceilf): Likewise.
+       * sysdeps/i386/fpu/s_ceill.S (__ceill): Likewise.
+       * sysdeps/i386/fpu/s_floor.S (__floor): Likewise.
+       * sysdeps/i386/fpu/s_floorf.S (__floorf): Likewise.
+       * sysdeps/i386/fpu/s_floorl.S (__floorl): Likewise.
+       * sysdeps/i386/fpu/s_trunc.S (__trunc): Likewise.
+       * sysdeps/i386/fpu/s_truncf.S (__truncf): Likewise.
+       * sysdeps/i386/fpu/s_truncl.S (__truncl): Likewise.
+
 2014-06-17  Andreas Schwab  <schwab@linux-m68k.org>
 
        * sysdeps/m68k/m680x0/fpu/libm-test-ulps: Update.
diff --git a/NEWS b/NEWS
index 52cd9b6aa86b20e8655456776149320fdc94d30e..0ba83dcaa7d2fc57460b79787930b8e68b89daf7 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -9,11 +9,11 @@ Version 2.20
 
 * The following bugs are resolved with this release:
 
-  6804, 9894, 12994, 13347, 13651, 14308, 14770, 15119, 15132, 15347,
-  15514, 15698, 15804, 15894, 15946, 16002, 16064, 16095, 16198, 16284,
-  16348, 16349, 16357, 16362, 16447, 16516, 16532, 16545, 16564, 16574,
-  16599, 16600, 16609, 16610, 16611, 16613, 16619, 16623, 16629, 16632,
-  16634, 16639, 16642, 16648, 16649, 16670, 16674, 16677, 16680, 16683,
+  6804, 9894, 12994, 13347, 13651, 14308, 14770, 15119, 15132, 15347, 15514,
+  15698, 15804, 15894, 15946, 16002, 16064, 16095, 16198, 16284, 16348,
+  16349, 16357, 16362, 16447, 16516, 16532, 16545, 16564, 16574, 16599,
+  16600, 16609, 16610, 16611, 16613, 16619, 16623, 16629, 16632, 16634,
+  16639, 16642, 16648, 16649, 16670, 16674, 16677, 16680, 16681, 16683,
   16689, 16695, 16701, 16706, 16707, 16712, 16713, 16714, 16724, 16731,
   16739, 16740, 16743, 16754, 16758, 16759, 16760, 16770, 16786, 16789,
   16791, 16796, 16799, 16800, 16815, 16823, 16824, 16831, 16838, 16849,
index b0159128aa0482806c82abc50f38273b253eb53c..f32fa26d3430ca4801c53dfd6fab67eecc2a1abd 100644 (file)
@@ -10,6 +10,7 @@ RCSID("$NetBSD: s_ceil.S,v 1.4 1995/05/08 23:52:13 jtc Exp $")
 ENTRY(__ceil)
        fldl    4(%esp)
        subl    $8,%esp
+       cfi_adjust_cfa_offset (8)
 
        fstcw   4(%esp)                 /* store fpu control word */
 
@@ -27,6 +28,7 @@ ENTRY(__ceil)
        fldcw   4(%esp)                 /* restore original control word */
 
        addl    $8,%esp
+       cfi_adjust_cfa_offset (-8)
        ret
 END (__ceil)
 weak_alias (__ceil, ceil)
index 352d40d7ce60b8cb8fe4c6c8656b57975bd7cb79..4fe703b17942ef90c5b33e981a4dd94c0a84e578 100644 (file)
@@ -10,6 +10,7 @@ RCSID("$NetBSD: s_ceilf.S,v 1.3 1995/05/08 23:52:44 jtc Exp $")
 ENTRY(__ceilf)
        flds    4(%esp)
        subl    $8,%esp
+       cfi_adjust_cfa_offset (8)
 
        fstcw   4(%esp)                 /* store fpu control word */
 
@@ -27,6 +28,7 @@ ENTRY(__ceilf)
        fldcw   4(%esp)                 /* restore original control word */
 
        addl    $8,%esp
+       cfi_adjust_cfa_offset (-8)
        ret
 END (__ceilf)
 weak_alias (__ceilf, ceilf)
index 0128966ebe917ab076503e8a9d59a9e5b296052b..4b272c522aeb56bd56db70d971b387b23e73a0dc 100644 (file)
@@ -11,6 +11,7 @@ RCSID("$NetBSD: $")
 ENTRY(__ceill)
        fldt    4(%esp)
        subl    $8,%esp
+       cfi_adjust_cfa_offset (8)
 
        fstcw   4(%esp)                 /* store fpu control word */
 
@@ -28,6 +29,7 @@ ENTRY(__ceill)
        fldcw   4(%esp)                 /* restore original control word */
 
        addl    $8,%esp
+       cfi_adjust_cfa_offset (-8)
        ret
 END (__ceill)
 weak_alias (__ceill, ceill)
index 20a8660424439b3115a05eefa71cd96fb4156743..2d6287dc7998c5fea6d5daa262b6519c0059517c 100644 (file)
@@ -10,6 +10,7 @@ RCSID("$NetBSD: s_floor.S,v 1.4 1995/05/09 00:01:59 jtc Exp $")
 ENTRY(__floor)
        fldl    4(%esp)
        subl    $8,%esp
+       cfi_adjust_cfa_offset (8)
 
        fstcw   4(%esp)                 /* store fpu control word */
 
@@ -27,6 +28,7 @@ ENTRY(__floor)
        fldcw   4(%esp)                 /* restore original control word */
 
        addl    $8,%esp
+       cfi_adjust_cfa_offset (-8)
        ret
 END (__floor)
 weak_alias (__floor, floor)
index eca93a2aa32e5ccb1585b0c1e6155cd7f6bb1fec..e969fbe5877b9d7afb5be093626bf50c1422997f 100644 (file)
@@ -10,6 +10,7 @@ RCSID("$NetBSD: s_floorf.S,v 1.3 1995/05/09 00:04:32 jtc Exp $")
 ENTRY(__floorf)
        flds    4(%esp)
        subl    $8,%esp
+       cfi_adjust_cfa_offset (8)
 
        fstcw   4(%esp)                 /* store fpu control word */
 
@@ -27,6 +28,7 @@ ENTRY(__floorf)
        fldcw   4(%esp)                 /* restore original control word */
 
        addl    $8,%esp
+       cfi_adjust_cfa_offset (-8)
        ret
 END (__floorf)
 weak_alias (__floorf, floorf)
index c2bf091d7366a3f6b88b0abe5932b7d8d9dd09c1..1206554c4a59f4be70d2de20b23fede67735583c 100644 (file)
@@ -11,6 +11,7 @@ RCSID("$NetBSD: $")
 ENTRY(__floorl)
        fldt    4(%esp)
        subl    $8,%esp
+       cfi_adjust_cfa_offset (8)
 
        fstcw   4(%esp)                 /* store fpu control word */
 
@@ -28,6 +29,7 @@ ENTRY(__floorl)
        fldcw   4(%esp)                 /* restore original control word */
 
        addl    $8,%esp
+       cfi_adjust_cfa_offset (-8)
        ret
 END (__floorl)
 weak_alias (__floorl, floorl)
index 5a148643e3aac567f46d1fa84cb4d6082c03bfa1..a5f8fc73bcdd12750cbcc8091d2b41614f6802f1 100644 (file)
@@ -22,6 +22,7 @@
 ENTRY(__trunc)
        fldl    4(%esp)
        subl    $8, %esp
+       cfi_adjust_cfa_offset (8)
        fstcw   4(%esp)
        movl    $0xc00, %edx
        orl     4(%esp), %edx
@@ -30,6 +31,7 @@ ENTRY(__trunc)
        frndint
        fldcw   4(%esp)
        addl    $8, %esp
+       cfi_adjust_cfa_offset (-8)
        ret
 END(__trunc)
 weak_alias (__trunc, trunc)
index d3b9385bfb821434d97490f48c1f251b23a857e9..746d52f0798db43738e29337ab09cd61fd0fb80c 100644 (file)
@@ -22,6 +22,7 @@
 ENTRY(__truncf)
        flds    4(%esp)
        subl    $8, %esp
+       cfi_adjust_cfa_offset (8)
        fstcw   4(%esp)
        movl    $0xc00, %edx
        orl     4(%esp), %edx
@@ -30,6 +31,7 @@ ENTRY(__truncf)
        frndint
        fldcw   4(%esp)
        addl    $8, %esp
+       cfi_adjust_cfa_offset (-8)
        ret
 END(__truncf)
 weak_alias (__truncf, truncf)
index 4bef0f478a8b6cd3b2178c43e380832068b1e92b..d573855dc342603f61d102d6d66f112ed4608c45 100644 (file)
@@ -22,6 +22,7 @@
 ENTRY(__truncl)
        fldt    4(%esp)
        subl    $8, %esp
+       cfi_adjust_cfa_offset (8)
        fstcw   4(%esp)
        movl    $0xc00, %edx
        orl     4(%esp), %edx
@@ -30,6 +31,7 @@ ENTRY(__truncl)
        frndint
        fldcw   4(%esp)
        addl    $8, %esp
+       cfi_adjust_cfa_offset (-8)
        ret
 END(__truncl)
 weak_alias (__truncl, truncl)