diff options
author | Ulrich Drepper <drepper@redhat.com> | 2009-07-29 08:33:03 -0700 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2009-07-29 08:33:03 -0700 |
commit | b48a267b8fbb885191a04cffdb4050a4d4c8a20b (patch) | |
tree | 1a517e3273ee5785b44a9bd5b9aec9ae62b95ac3 /ChangeLog | |
parent | 9655389317c92e5935c47d90c0ba48ca54bd245e (diff) | |
download | glibc-b48a267b8fbb885191a04cffdb4050a4d4c8a20b.tar.gz glibc-b48a267b8fbb885191a04cffdb4050a4d4c8a20b.tar.xz glibc-b48a267b8fbb885191a04cffdb4050a4d4c8a20b.zip |
Preserve SSE registers in runtime relocations on x86-64.
SSE registers are used for passing parameters and must be preserved in runtime relocations. This is inside ld.so enforced through the tests in tst-xmmymm.sh. But the malloc routines used after startup come from libc.so and can be arbitrarily complex. It's overkill to save the SSE registers all the time because of that. These calls are rare. Instead we save them on demand. The new infrastructure put in place in this patch makes this possible and efficient.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index ff34e5f5d5..23e6906d06 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,18 @@ +2009-07-29 Ulrich Drepper <drepper@redhat.com> + + * elf/dl-runtime.c (_dl_fixup): Indicate before _dl_lookup_symbol_x + call that registers used in calling conventions need to be preserved. + * elf/dl-lookup.c (do_lookup_x): Use RTLD_*_FOREIGN_CALL macros + to preserve register content if necessary. + * sysdeps/x86_64/dl-trampoline.S (_dl_x86_64_save_sse): New function. + (_dl_x86_64_restore_sse): New function. + * sysdeps/x86_64/tst-xmmymm.sh: There is now one more function that + is allowed to modify xmm/ymm registers. + + * stdio-common/scanf15.c: Undefine _LIBC. We want to test from an + application's perspective. + * stdio-common/scanf17.c: Likewise. + 2009-07-28 Ulrich Drepper <drepper@redhat.com> * csu/libc-tls.c (__libc_setup_tls) [TLS_TCB_AT_TP]: Don't add TCB |