diff options
author | Ulrich Drepper <drepper@redhat.com> | 2002-10-01 00:05:23 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2002-10-01 00:05:23 +0000 |
commit | d1f69fed96fdb47aa7394d6e0ece1e16811d55fd (patch) | |
tree | 31bdbc866ae4cc7d0ef50a65b9a5d676660473e5 /sysdeps | |
parent | e3b0b8baa175848d3ff72e0494581b6eddcde29a (diff) | |
download | glibc-d1f69fed96fdb47aa7394d6e0ece1e16811d55fd.tar.gz glibc-d1f69fed96fdb47aa7394d6e0ece1e16811d55fd.tar.xz glibc-d1f69fed96fdb47aa7394d6e0ece1e16811d55fd.zip |
Update.
2002-09-19 David Mosberger <davidm@hpl.hp.com> * sysdeps/ia64/dl-fptr.c (make_fdesc): Load address of "local" via a 64-bit gp-relative address to enable binaries with large data sections. 2002-09-30 Ulrich Drepper <drepper@redhat.com> * stdlib/cxa_finalize.c (__cxa_finalize): Call UNREGISTER_ATFORK if it is defined. * posix/Makefile (distribute): Add fork.h. * sysdeps/generic/fork.h: New file.
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/generic/fork.h | 8 | ||||
-rw-r--r-- | sysdeps/ia64/dl-fptr.c | 4 |
2 files changed, 10 insertions, 2 deletions
diff --git a/sysdeps/generic/fork.h b/sysdeps/generic/fork.h new file mode 100644 index 0000000000..623cae28df --- /dev/null +++ b/sysdeps/generic/fork.h @@ -0,0 +1,8 @@ +/* Stub version of header for fork handling. Mainly to handle pthread_atfork + and friends. Outside dependencies: + + UNREGISTER_ATFORK + If defined it must expand to a function call which takes one void* + parameter which is the DSO handle for the DSO which gets unloaded. + The function so called has to remove the atfork handlers registered + by this module. */ diff --git a/sysdeps/ia64/dl-fptr.c b/sysdeps/ia64/dl-fptr.c index dd8eb9d391..809e11311f 100644 --- a/sysdeps/ia64/dl-fptr.c +++ b/sysdeps/ia64/dl-fptr.c @@ -1,5 +1,5 @@ /* Manage function descriptors. IA-64 version. - Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. + Copyright (C) 1999, 2000, 2001, 2002 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 @@ -127,7 +127,7 @@ make_fdesc (Elf64_Addr ip, Elf64_Addr gp) unsigned int old; struct local *l; - asm ("addl %0 = @gprel (local), gp" : "=r" (l)); + asm ("movl %0 = @gprel (local);; add %0 = %0, gp" : "=&r"(l)); t = l->root; while (1) |