This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch, master, updated. glibc-2.14-185-g0276a71
- From: drepper at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 20 Aug 2011 12:59:10 -0000
- Subject: GNU C Library master sources branch, master, updated. glibc-2.14-185-g0276a71
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via 0276a718c0fa58916a6e7c54bad22b4e58bb39b4 (commit)
via c88f17668b67d22fe470933ab81119de587ee175 (commit)
via 94d7165ffa21944a5c301144d9f884cfe24199ab (commit)
via 3b41ae4d7d84bcb321a5ec2e84cf78d3ad8d430c (commit)
from 51ccffa07492653935c6333cfc71c521c0e345e4 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=0276a718c0fa58916a6e7c54bad22b4e58bb39b4
commit 0276a718c0fa58916a6e7c54bad22b4e58bb39b4
Author: Ulrich Drepper <drepper@gmail.com>
Date: Sat Aug 20 08:58:44 2011 -0400
Fix minor CFI problem in regular x86-64 trampoline
diff --git a/ChangeLog b/ChangeLog
index fc2bb87..b1c0946 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2011-08-20 Ulrich Drepper <drepper@gmail.com>
+ * sysdeps/x86_64/dl-trampoline.S (_dl_runtime_resolve): Fix CFI for
+ the very first instruction.
+
* sysdeps/x86_64/dl-trampoline.h: If MORE_CODE is defined, restore
the CFI state in the end.
* sysdeps/x86_64/dl-trampoline.S: Define MORE_CODE before first
diff --git a/sysdeps/x86_64/dl-trampoline.S b/sysdeps/x86_64/dl-trampoline.S
index 317610c..258c609 100644
--- a/sysdeps/x86_64/dl-trampoline.S
+++ b/sysdeps/x86_64/dl-trampoline.S
@@ -27,8 +27,9 @@
.align 16
cfi_startproc
_dl_runtime_resolve:
+ cfi_adjust_cfa_offset(16) # Incorporate PLT
subq $56,%rsp
- cfi_adjust_cfa_offset(72) # Incorporate PLT
+ cfi_adjust_cfa_offset(56)
movq %rax,(%rsp) # Preserve registers otherwise clobbered.
movq %rcx, 8(%rsp)
movq %rdx, 16(%rsp)
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=c88f17668b67d22fe470933ab81119de587ee175
commit c88f17668b67d22fe470933ab81119de587ee175
Author: Ulrich Drepper <drepper@gmail.com>
Date: Sat Aug 20 08:56:30 2011 -0400
Fix CFI info in x86-64 trampolines for non-AVX code
diff --git a/ChangeLog b/ChangeLog
index 6896e73..fc2bb87 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2011-08-20 Ulrich Drepper <drepper@gmail.com>
+
+ * sysdeps/x86_64/dl-trampoline.h: If MORE_CODE is defined, restore
+ the CFI state in the end.
+ * sysdeps/x86_64/dl-trampoline.S: Define MORE_CODE before first
+ inclusion of dl-trampoline.h.
+ Based on a patch by Jiri Olsa <jolsa@redhat.com>.
+
2011-08-19 Andreas Schwab <schwab@redhat.com>
* sysdeps/powerpc/fpu/libm-test-ulps: Relax ctan (0.75 + 1.25 i)
diff --git a/sysdeps/x86_64/dl-trampoline.S b/sysdeps/x86_64/dl-trampoline.S
index 45a2dc2..317610c 100644
--- a/sysdeps/x86_64/dl-trampoline.S
+++ b/sysdeps/x86_64/dl-trampoline.S
@@ -158,14 +158,15 @@ L(have_avx):
1: js L(no_avx)
# define RESTORE_AVX
+# define MORE_CODE
# include "dl-trampoline.h"
.align 16
L(no_avx):
# endif
-# undef RESTORE_AVX
-# include "dl-trampoline.h"
+# undef RESTORE_AVX
+# include "dl-trampoline.h"
cfi_endproc
.size _dl_runtime_profile, .-_dl_runtime_profile
diff --git a/sysdeps/x86_64/dl-trampoline.h b/sysdeps/x86_64/dl-trampoline.h
index 5d49ed4..1c39579 100644
--- a/sysdeps/x86_64/dl-trampoline.h
+++ b/sysdeps/x86_64/dl-trampoline.h
@@ -1,6 +1,6 @@
/* Partial PLT profile trampoline to save and restore x86-64 vector
registers.
- Copyright (C) 2009 Free Software Foundation, Inc.
+ Copyright (C) 2009, 2011 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -195,14 +195,14 @@
_dl_call_pltexit. The La_x86_64_regs is being pointed by rsp now,
so we just need to allocate the sizeof(La_x86_64_retval) space on
the stack, since the alignment has already been taken care of. */
-# ifdef RESTORE_AVX
+#ifdef RESTORE_AVX
/* sizeof(La_x86_64_retval). Need extra space for 2 SSE
registers to detect if xmm0/xmm1 registers are changed
by audit module. */
subq $(LRV_SIZE + XMM_SIZE*2), %rsp
-# else
+#else
subq $LRV_SIZE, %rsp # sizeof(La_x86_64_retval)
-# endif
+#endif
movq %rsp, %rcx # La_x86_64_retval argument to %rcx.
/* Fill in the La_x86_64_retval structure. */
@@ -212,7 +212,7 @@
movaps %xmm0, LRV_XMM0_OFFSET(%rcx)
movaps %xmm1, LRV_XMM1_OFFSET(%rcx)
-# ifdef RESTORE_AVX
+#ifdef RESTORE_AVX
/* This is to support AVX audit modules. */
vmovdqu %ymm0, LRV_VECTOR0_OFFSET(%rcx)
vmovdqu %ymm1, LRV_VECTOR1_OFFSET(%rcx)
@@ -221,14 +221,14 @@
by audit module. */
vmovdqa %xmm0, (LRV_SIZE)(%rcx)
vmovdqa %xmm1, (LRV_SIZE + XMM_SIZE)(%rcx)
-# endif
+#endif
fstpt LRV_ST0_OFFSET(%rcx)
fstpt LRV_ST1_OFFSET(%rcx)
movq 24(%rbx), %rdx # La_x86_64_regs argument to %rdx.
movq 40(%rbx), %rsi # Copy args pushed by PLT in register.
- movq 32(%rbx), %rdi # %rdi: link_map, %rsi: reloc_index
+ movq 32(%rbx), %rdi # %rdi: link_map, %rsi: reloc_index
call _dl_call_pltexit
/* Restore return registers. */
@@ -238,7 +238,7 @@
movaps LRV_XMM0_OFFSET(%rsp), %xmm0
movaps LRV_XMM1_OFFSET(%rsp), %xmm1
-# ifdef RESTORE_AVX
+#ifdef RESTORE_AVX
/* Check if xmm0/xmm1 registers are changed by audit module. */
vpcmpeqq (LRV_SIZE)(%rsp), %xmm0, %xmm2
vpmovmskb %xmm2, %esi
@@ -253,7 +253,7 @@
vmovdqu LRV_VECTOR1_OFFSET(%rsp), %ymm1
1:
-# endif
+#endif
fldt LRV_ST1_OFFSET(%rsp)
fldt LRV_ST0_OFFSET(%rsp)
@@ -267,3 +267,10 @@
# (eats the reloc index and link_map)
cfi_adjust_cfa_offset(-48)
retq
+
+#ifdef MORE_CODE
+ cfi_adjust_cfa_offset(48)
+ cfi_rel_offset(%rbx, 0)
+ cfi_def_cfa_register(%rbx)
+# undef MORE_CODE
+#endif
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=94d7165ffa21944a5c301144d9f884cfe24199ab
commit 94d7165ffa21944a5c301144d9f884cfe24199ab
Author: Andreas Schwab <schwab@redhat.com>
Date: Sat Aug 20 08:39:39 2011 -0400
Adjust libm test ulps for powerpc
diff --git a/ChangeLog b/ChangeLog
index bd889de..6896e73 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2011-08-19 Andreas Schwab <schwab@redhat.com>
+ * sysdeps/powerpc/fpu/libm-test-ulps: Relax ctan (0.75 + 1.25 i)
+ expectations for long double.
+
* sysdeps/unix/sysv/linux/powerpc/powerpc32/scandir64.c: Renamed
from sysdeps/unix/sysv/linux/powerpc/scandir64.c.
diff --git a/sysdeps/powerpc/fpu/libm-test-ulps b/sysdeps/powerpc/fpu/libm-test-ulps
index 8516e91..7f187ac 100644
--- a/sysdeps/powerpc/fpu/libm-test-ulps
+++ b/sysdeps/powerpc/fpu/libm-test-ulps
@@ -395,6 +395,8 @@ ldouble: 1
Test "Imaginary part of: ctan (0.75 + 1.25 i) == 0.160807785916206426725166058173438663 + 0.975363285031235646193581759755216379 i":
double: 1
idouble: 1
+ildouble: 1
+ldouble: 1
# ctanh
Test "Real part of: ctanh (-2 - 3 i) == -0.965385879022133124278480269394560686 + 0.988437503832249372031403430350121098e-2 i":
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=3b41ae4d7d84bcb321a5ec2e84cf78d3ad8d430c
commit 3b41ae4d7d84bcb321a5ec2e84cf78d3ad8d430c
Author: Andreas Schwab <schwab@redhat.com>
Date: Sat Aug 20 08:38:58 2011 -0400
Remove the file<
diff --git a/sysdeps/unix/sysv/linux/powerpc/scandir64.c b/sysdeps/unix/sysv/linux/powerpc/scandir64.c
deleted file mode 100644
index 506fd88..0000000
--- a/sysdeps/unix/sysv/linux/powerpc/scandir64.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/unix/sysv/linux/i386/scandir64.c>
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 14 ++++++++++++++
sysdeps/powerpc/fpu/libm-test-ulps | 2 ++
sysdeps/unix/sysv/linux/powerpc/scandir64.c | 1 -
sysdeps/x86_64/dl-trampoline.S | 8 +++++---
sysdeps/x86_64/dl-trampoline.h | 25 ++++++++++++++++---------
5 files changed, 37 insertions(+), 13 deletions(-)
delete mode 100644 sysdeps/unix/sysv/linux/powerpc/scandir64.c
hooks/post-receive
--
GNU C Library master sources