diff options
author | Roland McGrath <roland@gnu.org> | 2002-11-19 06:41:14 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2002-11-19 06:41:14 +0000 |
commit | 0bf5c0507e1db5e551a9681533592c8829a12f9d (patch) | |
tree | 98a94b0992788213881ff276401df39d2895dd8e /dlfcn/dlerror.c | |
parent | c27af28ef2e5eeb23cf894dfd8b35de6cfa69a32 (diff) | |
download | glibc-0bf5c0507e1db5e551a9681533592c8829a12f9d.tar.gz glibc-0bf5c0507e1db5e551a9681533592c8829a12f9d.tar.xz glibc-0bf5c0507e1db5e551a9681533592c8829a12f9d.zip |
* sysdeps/hppa/fpu/libm-test-ulps: New file (generated).
* sysdeps/hppa/Makefile (CFLAGS-rtld.c): New variable. Set -mdisable-fpregs for this file. 2002-11-11 Carlos O'Donell <carlos@baldric.uwo.ca> * sysdeps/unix/sysv/linux/configure.in: Make 2.4.19 minimum linux kernel for hppa, and add unwind symbols from gcc-3.0 era for backwards compatibility. * sysdeps/unix/sysv/linux/configure: Regenerate. * sysdeps/unix/sysv/linux/hppa/sys/ucontext.h: Define mcontext_t as a sigcontext. * dlfcn/dlerror.c (fini): New function, __attribute__ ((destructor)). Free memory in `last_result' if it was used. * resolv/nss_dns/dns-network.c (getanswer_r): In BYNAME case, search all aliases for one that matches the "<dotted-quad>.IN-ADDR.ARPA" form. Do the parsing inline instead of copying strings and calling inet_network, and properly skip all alias names not matching the form.
Diffstat (limited to 'dlfcn/dlerror.c')
-rw-r--r-- | dlfcn/dlerror.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/dlfcn/dlerror.c b/dlfcn/dlerror.c index a754d3d9f6..eaf5ef9294 100644 --- a/dlfcn/dlerror.c +++ b/dlfcn/dlerror.c @@ -1,5 +1,6 @@ /* Return error detail for failing <dlfcn.h> functions. - Copyright (C) 1995, 96, 97, 98, 99, 2000 Free Software Foundation, Inc. + Copyright (C) 1995,1996,1997,1998,1999,2000,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 @@ -148,6 +149,15 @@ init (void) static_buf = &last_result; } +static void +__attribute__ ((destructor)) +fini (void) +{ + if (last_result.errstring != NULL + && strcmp (last_result.errstring, "out of memory") != 0) + free ((char *) last_result.errstring); +} + /* Free the thread specific data, this is done if a thread terminates. */ static void |