SOURCES: glibc-cvs20070210.patch (NEW) - update from 2.5 cvs branch
arekm
arekm at pld-linux.org
Sat Feb 10 13:42:57 CET 2007
Author: arekm Date: Sat Feb 10 12:42:57 2007 GMT
Module: SOURCES Tag: HEAD
---- Log message:
- update from 2.5 cvs branch
---- Files affected:
SOURCES:
glibc-cvs20070210.patch (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: SOURCES/glibc-cvs20070210.patch
diff -u /dev/null SOURCES/glibc-cvs20070210.patch:1.1
--- /dev/null Sat Feb 10 13:42:57 2007
+++ SOURCES/glibc-cvs20070210.patch Sat Feb 10 13:42:52 2007
@@ -0,0 +1,48177 @@
+Index: libc/ChangeLog
+diff -u libc/ChangeLog:1.10354 libc/ChangeLog:1.10362.2.31
+--- libc/ChangeLog:1.10354 Fri Sep 29 19:45:39 2006
++++ libc/ChangeLog Fri Jan 12 18:24:52 2007
+@@ -1,5 +1,416 @@
++2007-01-05 Steven Munroe <sjmunroe at us.ibm.com>
++
++ * stdlib/tst-makecontext.c: Include errno.h. Change main()
++ to do_test(). Define TEST_FUNCTION. Include test-skeleton.c.
++ (do_test): Check errno and exit(0) if ENOSYS.
++
++2007-01-11 Jakub Jelinek <jakub at redhat.com>
++
++ * stdlib/strtod_l.c (____STRTOF_INTERNAL): Fix handling of multi-byte
++ thousands separators.
++ * stdlib/Makefile: Add rules to build and run tst-strtod4.
++ * stdlib/tst-strtod4.c: New test.
++
++ [BZ #3855]
++ * stdlib/strtod_l.c (____STRTOF_INTERNAL): 0x. not followed by
++ hexadecimal digit should accept just the initial 0.
++ * stdlib/tst-strtod2.c (tests): New variable.
++ (do_test): Run several tests rather than just one.
++
++2007-01-03 Ulrich Drepper <drepper at redhat.com>
++
++ * stdlib/Makefile (tst-strtod3-ENV): Define.
++
++2006-12-11 Ulrich Drepper <drepper at redhat.com>
++
++ * stdlib/strtod_l.c (____STRTOF_INTERNAL): Parse thousand
++ separators also if no non-zero digits found.
++ * stdlib/Makefile (tests): Add tst-strtod3.
++
++2006-12-09 Ulrich Drepper <drepper at redhat.com>
++
++ [BZ #3664]
++ * stdlib/strtod_l.c (____STRTOF_INTERNAL): Fix test to recognize
++ empty parsed strings.
++ * stdlib/Makefile (tests): Add tst-strtod2.
++ * stdlib/tst-strtod2.c: New file.
++
++ [BZ #3673]
++ * stdlib/strtod_l.c (____STRTOF_INTERNAL): Fix exp_limit
++ computation.
++ * stdlib/Makefile (tests): Add tst-atof2.
++ * stdlib/tst-atof2.c: New file.
++
++ [BZ #3674]
++ * stdlib/strtod_l.c (____STRTOF_INTERNAL): Adjust exponent value
++ correctly if removing trailing zero of hex-float.
++ * stdlib/Makefile (tests): Add tst-atof1.
++ * stdlib/tst-atof1.c: New file.
++
++2007-01-03 Ulrich Drepper <drepper at redhat.com>
++
++ * string/Makefile (tst-strxfrm2-ENV): Define.
++
++2006-11-10 Jakub Jelinek <jakub at redhat.com>
++
++ * string/strxfrm_l.c (STRXFRM): Fix trailing \1 optimization
++ if N is one bigger than return value.
++ * string/tst-strxfrm2.c (do_test): Also test strxfrm with l1 + 1
++ and l1 last arguments, if buf is defined, verify the return value
++ equals to strlen (buf) and verify no byte beyond passed length
++ is modified.
++
++2006-11-09 Ulrich Drepper <drepper at redhat.com>
++
++ * string/Makefile (tests): Add tst-strxfrm2.
++ * string/tst-strxfrm2.c: New file.
++
++2006-11-08 Jakub Jelinek <jakub at redhat.com>
++
++ * string/strxfrm_l.c (STRXFRM): Do the trailing \1 removal
++ optimization even if needed > n.
++
++2006-12-22 Gavin Romig-Koch <gavin at redhat.com>
++
++ * nis/nss_compat/compat-grp.c (internal_getgrgid_r): Don't
++ blacklist the group till after we look it up.
++
++2006-12-21 Ulrich Drepper <drepper at redhat.com>
++
++ * include/atomic.h (atomic_forced_read): New macro.
++
++2006-12-19 Jakub Jelinek <jakub at redhat.com>
++
++ * nss/getXXbyYY_r.c: Include atomic.h.
++ (INTERNAL (REENTRANT_NAME)): Write startp after start_fct,
++ add atomic_write_barrier () in between.
++
++2006-12-18 Jakub Jelinek <jakub at redhat.com>
++
++ [BZ #3747]
++ * stdlib/jrand48_r.c (__jrand48_r): Make sure result is in the
++ [-231 .. 231) range.
++ * stdlib/tst-rand48.c (main): Fix expected values for 64-bit
++ targets.
++ * stdlib/tst-rand48-2.c: New test.
++ * stdlib/Makefile (tests): Add tst-rand48-2.
++
++2006-12-14 Jakub Jelinek <jakub at redhat.com>
++
++ * misc/tst-pselect.c (do_test): Fix sigblock argument.
++
++2006-12-14 Ulrich Drepper <drepper at redhat.com>
++
++ * misc/tst-pselect.c (do_test): Make sure the helper process is
++ terminating when the test is aborted.
++
++2006-12-13 Ulrich Drepper <drepper at redhat.com>
++
++ [BZ #2337]
++ * libio/Makefile (tests): Add tst-setvbuf1.
++ * libio/tst-setvbuf1.c: New file.
++
++2006-12-08 Jakub Jelinek <jakub at redhat.com>
++
++ [BZ #2337]
++ * libio/genops.c (__uflow): Fix a typo.
++ * libio/wfiledoalloc.c (_IO_wfile_doallocate): Don't stat
++ nor set _IO_LINE_BUF bit here. Size the wide buffer based on
++ the narrow buffer size.
++
++2006-11-24 Jakub Jelinek <jakub at redhat.com>
++
++ [BZ #2337]
++ * libio/libio.h (_IO_FLAGS2_USER_WBUF): Define.
++ * libio/wgenops.c (_IO_wsetb, _IO_wdefault_finish): Test and set
++ _IO_FLAGS2_USER_WBUF bit in _flags2 instead of _IO_USER_BUF bit
++ in _flags.
++ * libio/wstrops.c (_IO_wstr_overflow, enlarge_userbuf,
++ _IO_wstr_finish): Likewise.
++ * libio/wmemstream.c (open_wmemstream): Likewise.
++ * libio/fileops.c (_IO_new_file_close_it): Call _IO_set[bgp]
++ even for wide streams.
++
++2006-12-09 Jakub Jelinek <jakub at redhat.com>
++
++ * misc/mntent_r.c (__hasmntopt): Check p[optlen] even when p == rest.
++ Start searching for next comma at p rather than rest.
++ * misc/Makefile (tests): Add tst-mntent2.
++ * misc/tst-mntent2.c: New test.
++
++2006-12-09 Ulrich Drepper <drepper at redhat.com>
++
++ [BZ #3632]
++ * include/features.h: Fix comment about default value for
++ _POSIX_C_SOURCE.
++
++2006-12-09 Jakub Jelinek <jakub at redhat.com>
++
++ * misc/getusershell.c (initshells): Check for integer overflows.
++ Make strings buffer one bigger as fgets always succeeds when second
++ argument is 1. Don't use calloc for shells array. Disallow
++ / as shell.
++
++2006-12-05 Jakub Jelinek <jakub at redhat.com>
++
++ * nis/nis_subr.c (nis_getnames): Revert last change.
++
++2006-10-11 Jakub Jelinek <jakub at redhat.com>
++
++ * nis/nis_defaults.c (__nis_default_access): Don't call getenv twice.
++
++ * nis/nis_subr.c (nis_getnames): Use __secure_getenv instead of getenv.
++ * sysdeps/generic/unsecvars.h: Add NIS_PATH.
++
++2006-12-04 Jakub Jelinek <jakub at redhat.com>
++
++ * sysdeps/unix/sysv/linux/ttyname.c: Include termios.h.
++ (ttyname): Use tcgetattr instead of isatty, don't set errno to ENOTTY.
++ * sysdeps/unix/sysv/linux/ttyname_r.c: Include termios.h.
++ (__ttyname_r): Use tcgetattr instead of isatty, don't set errno to
++ ENOTTY.
++ * io/Makefile: Add rules to build and run tst-ttyname_r test.
++ * io/tst-ttyname_r.c: New test.
++
++2006-11-28 Jakub Jelinek <jakub at redhat.com>
++
++ * elf/dl-support.c: Include dl-procinfo.h.
++ * sysdeps/powerpc/dl-procinfo.h (PPC_PLATFORM_POWER4,
++ PPC_PLATFORM_PPC970, PPC_PLATFORM_POWER5, PPC_PLATFORM_POWER5_PLUS,
++ PPC_PLATFORM_POWER6, PPC_PLATFORM_CELL_BE, PPC_PLATFORM_POWER6X):
++ Define.
++ (_dl_string_platform): Use PPC_PLATFORM_* macros instead of
++ hardcoded constants.
++ * sysdeps/powerpc/dl-procinfo.c (_dl_powerpc_platform): Use
++ PPC_PLATFORM_* macros for array designators.
++
++2006-11-11 Steven Munroe <sjmunroe at us.ibm.com>
++
++ * sysdeps/powerpc/dl-procinfo.c (_dl_powerpc_cap_flags): Add 3 new cap
++ names to the beginning.
++ (_dl_powerpc_platforms): Add "power6x".
++ * sysdeps/powerpc/dl-procinfo.h (_DL_HWCAP_FIRST): Decrease.
++ (HWCAP_IMPORTANT): Add PPC_FEATURE_HAS_DFP.
++ (_DL_PLATFORMS_COUNT): Increase.
++ (_dl_string_platform): Handle power6x case.
++ * sysdeps/powerpc/sysdep.h (PPC_FEATURE_PA6T, PPC_FEATURE_HAS_DFP,
++ PPC_FEATURE_POWER6_EXT): Define.
++ (PPC_FEATURE_POWER5, PPC_FEATURE_POWER5_PLUS): Correct Comment.
++
++2006-11-27 Jakub Jelinek <jakub at redhat.com>
++
++ [BZ #3559]
++ * sunrpc/svc_run.c (svc_run): Fail instead of segfaulting if
++ malloc crashed.
++
++2006-11-14 Jakub Jelinek <jakub at redhat.com>
++
++ * nss/nss_files/files-alias.c (get_next_alias): Set line back
++ to first_unused after parsing :include: file.
++
++2006-11-14 Ulrich Drepper <drepper at redhat.com>
++
++ * po/nl.po: Update from translation team.
++
++2006-11-10 Ulrich Drepper <drepper at redhat.com>
++
++ * po/sv.po: Update from translation team.
++
++2006-11-01 Ulrich Drepper <drepper at redhat.com>
++
++ * po/sv.po: Update from translation team.
++
++2006-10-29 Ulrich Drepper <drepper at redhat.com>
++
++ * po/sv.po: Update from translation team.
++
++2006-10-09 Ulrich Drepper <drepper at redhat.com>
++
++ * po/sv.po: Update from translation team.
++
++2006-10-07 Ulrich Drepper <drepper at redhat.com>
++
++ * po/tr.po: Update from translation team.
++
++2006-10-06 Ulrich Drepper <drepper at redhat.com>
++
++ * po/pl.po: Update from translation team.
++
++2006-11-10 Ulrich Drepper <drepper at redhat.com>
++
++ [BZ #3451]
++ * sysdeps/i386/fpu/bits/mathinline.h (floor): Make rounding mode
++ change atomic.
++ (ceil): Likewise.
++
++2006-11-09 Ulrich Drepper <drepper at redhat.com>
++
++ * sysdeps/unix/sysv/linux/x86_64/sysconf.c (intel_check_word): Add
++ noinline attribute.
++
++2006-11-10 Jakub Jelinek <jakub at redhat.com>
++
++ * sysdeps/unix/sysv/linux/i386/sysconf.c (intel_check_word): Add
++ noinline attribute.
++
++2006-11-05 Ulrich Drepper <drepper at redhat.com>
++
++ * sysdeps/unix/sysv/linux/i386/sysconf.c (intel_check_word):
++ Update handling of cache descriptor 0x49 for new models.
++ * sysdeps/unix/sysv/linux/x86_64/sysconf.c (intel_check_word):
++ Likewise.
++
++2006-11-08 Jakub Jelinek <jakub at redhat.com>
++
++ * elf/dl-load.c (decompose_rpath): Return bool rather than void.
++ If l->l_name is on inhibit_rpath list, set sps->dirs to -1 and
++ return false, otherwise return true.
++ (cache_rpath): Return decompose_rpath return value.
++
++2006-11-02 Jakub Jelinek <jakub at redhat.com>
++
++ * malloc/memusage.c (dest): Reset not_me back to false after
++ printing statistics.
++
++2006-10-27 Ulrich Drepper <drepper at redhat.com>
++
++ * elf/dl-close.c (_dl_close_worker): Renamed from _dl_close and
++ split out locking and parameter checking.
++ (_dl_close): Call _dl_close_worker after locking and checking.
++ * elf/dl-open.c (_dl_open): Call _dl_close_worker instead of
++ _dl_close.
++ * elf/Makefile: Add rules to build and run tst-thrlock.
++ * elf/tst-thrlock.c: New file.
++
++ [BZ #3429]
++ * elf/dl-open.c (dl_open_worker): Keep holding dl_load_lock until
++ we are sure we do not need it anymore for _dl_close. Also move
++ the asserts inside the lock region.
++ Patch mostly by Suzuki <suzuki at in.ibm.com>.
++
++2006-10-17 Jakub Jelinek <jakub at redhat.com>
++
++ * sunrpc/xdr_mem.c (xdrmem_setpos): Don't compare addresses
++ as signed longs, check for x_base + pos overflow.
++ * sunrpc/Makefile (tests): Add tst-xdrmem2.
++ * sunrpc/tst-xdrmem2.c: New test.
++
++2006-10-16 Ulrich Drepper <drepper at redhat.com>
++
++ [BZ #3369]
++ * sysdeps/posix/getaddrinfo.c (rfc3484_sort): Fix typos in rules 4
++ and 7.
++
++2006-10-13 Ulrich Drepper <drepper at redhat.com>
++
++ * elf/dl-minimal.c (realloc): Optimize last patch.
++
++2006-10-12 Richard Sandiford <richard at codesourcery.com>
++
++ [BZ #3352]
++ * elf/dl-minimal.c (realloc): Let malloc() return a new pointer,
++ and use memcpy() if it does.
++
++2006-10-11 Ulrich Drepper <drepper at redhat.com>
++
++ * sysdeps/unix/sysv/linux/i386/sysdep.h (DOARGS_6): Fix offset.
++
++2006-10-10 Ulrich Drepper <drepper at redhat.com>
++
++ * nis/nis_subr.c (nis_getnames): Add trailing dot to NIS_PATH
++ components which lack them.
++
++ * nis/nis_subr.c (nis_getnames): Make sure that we always return
++ at least one entry consisting of the parameter concatenated with
++ the domain.
++
++2006-10-09 Jakub Jelinek <jakub at redhat.com>
++
++ * elf/dl-debug.c (_dl_debug_initialize): Check r->r_map for 0
++ rather than r->r_brk.
++
++2006-10-06 Ulrich Drepper <drepper at redhat.com>
++
++ * nis/nis_table.c (nis_list): If __follow_path fails in the new
++ code, make sure the nis_freeresult call doesn't crash and that the
++ result is reported correctly.
++
++2006-09-27 Jakub Jelinek <jakub at redhat.com>
++
++ * nis/nis_table.c (nis_list): Handle FOLLOW_PATH | ALL_RESULTS
++ when callback is NULL.
++
++ * nis/Versions (libnss_nisplus): Add
++ _nss_nisplus_initgroups_dyn@@GLIBC_PRIVATE.
++ * nis/Makefile (libnss_nisplus-routines): Add nisplus-initgroups.
++ * nis/nss_nisplus/nisplus-grp.c (tablename_val, tablename_len,
++ _nss_create_tablename): Rename to...
++ (grp_tablename_val, grp_tablename_len, _nss_grp_create_tablename):
++ ... these. No longer static.
++ (internal_setgrent): Adjust users.
++ (_nss_nisplus_getgrnam_r, _nss_nisplus_getgrgid_r): Likewise.
++ Don't use locking around _nss_grp_create_tablename call.
++ * nis/nss_nisplus/nisplus-initgroups.c: New file.
++
++2006-10-06 Andreas Jaeger <aj at suse.de>
++
++ * include/features.h (__GLIBC_MINOR__): It's glibc 2.5 now.
++
++2006-10-06 Ulrich Drepper <drepper at redhat.com>
++
++ * po/pl.po: Update from translation team.
++
++ * nscd/nscd.c (main): Fix typo in message.
++ Patch by Jakub Bogsz <qboosh at pld-linux.org>.
++
++2006-10-02 Jakub Jelinek <jakub at redhat.com>
++
++ [BZ #3291]
++ * sysdeps/unix/sysv/linux/sparc/sparc64/pause.c: Include
++ errno.h, signal.h, unistd.h and sysdep-cancel.h.
++ (__sigprocmask): Define.
++
++2006-10-02 Ulrich Drepper <drepper at redhat.com>
++
++ * elf/rtld.c (dl_main): Don't use prelinking if LD_DYNAMIC_WEAK is
++ used.
++
++2006-10-02 Jakub Jelinek <jakub at redhat.com>
++
++ * nscd/mem.c (mempool_alloc): Round array size to 16 bytes
++ in oldtotal and newtotal calculation.
++ * nscd/nscd-client.h (struct mapped_database): Add datasize
++ field.
++ * nscd/nscd_helper.c (get_mapping): Initialize datasize field.
++ (__nscd_get_map_ref): Get a new mapping even if mapping's data_size
++ increased.
++ (__nscd_cache_search): Add checks to make sure we never reference
++ data beyond the current mapping.
++
++2006-10-02 Dmitry V. Levin <ldv at altlinux.org>
++
++ * sysdeps/posix/getaddrinfo.c (match_prefix): Make mask and val
++ variables const to avoid compiler warnings.
++
++ * io/fts.c (fts_close): Remove redundant checks.
++ (fts_build): Likewise.
++ (fts_palloc): Likewise.
++
++ * manual/message.texi (Advanced gettext functions,
++ Using gettextized software): Fix typos.
++
++2006-09-30 Ulrich Drepper <drepper at redhat.com>
++
++ * posix/glob.c (glob_in_dir): Add some comments and asserts to
++ explain why there are no leaks.
++
+ 2006-09-29 Ulrich Drepper <drepper at redhat.com>
+
++ * libio/wmemstream.c: Include <wchar.h>.
++ * libio/bug-wmemstream1.c: Likewise.
++ * libio/tst-wmemstream1.c: Likewise.
++ * libio/tst-wmemstream2.c: Likewise.
++
+ * version.h (RELEASE): Bump to 2.5.
+ * README: Regenerated.
+
+Index: libc/README
+diff -u libc/README:1.80 libc/README:1.81
+--- libc/README:1.80 Fri Sep 29 19:42:12 2006
++++ libc/README Mon Oct 2 18:11:52 2006
+@@ -10,13 +10,6 @@
+ implement the operating system behavior seen by user applications.
+ In GNU/Hurd systems, it works with a microkernel and Hurd servers.
+
+-Version 2.4 is the first release after a long period of development, and
+-introduces changes to the API and a new ABI for all configurations. It
+-has been tested and deployed in new production systems, but should still
+-be considered somewhat experimental. The stable 2.3 release series
+-continues to be maintained, and implements a widely-deployed ABI.
+-Version 2.3.6 is available, and we will release 2.3.7 with more bug fixes.
+-
+ The GNU C Library implements much of the POSIX.1 functionality in the
+ GNU/Hurd system, using configurations i[34567]86-*-gnu.
+
+Index: libc/README.template
+diff -u libc/README.template:1.45 libc/README.template:1.46
+--- libc/README.template:1.45 Mon Mar 6 10:59:31 2006
++++ libc/README.template Mon Oct 2 18:10:43 2006
+@@ -10,13 +10,6 @@
+ implement the operating system behavior seen by user applications.
+ In GNU/Hurd systems, it works with a microkernel and Hurd servers.
+
+-Version 2.4 is the first release after a long period of development, and
+-introduces changes to the API and a new ABI for all configurations. It
+-has been tested and deployed in new production systems, but should still
+-be considered somewhat experimental. The stable 2.3 release series
+-continues to be maintained, and implements a widely-deployed ABI.
+-Version 2.3.6 is available, and we will release 2.3.7 with more bug fixes.
+-
+ The GNU C Library implements much of the POSIX.1 functionality in the
+ GNU/Hurd system, using configurations i[34567]86-*-gnu.
+
+Index: libc/elf/Makefile
+diff -u libc/elf/Makefile:1.315 libc/elf/Makefile:1.315.2.1
+--- libc/elf/Makefile:1.315 Tue Sep 19 15:41:41 2006
++++ libc/elf/Makefile Fri Jan 12 15:21:33 2007
+@@ -171,7 +171,7 @@
+ tst-dlmopen1 tst-dlmopen2 tst-dlmopen3 \
+ unload3 unload4 unload5 unload6 unload7 tst-global1 order2 \
+ tst-audit1 tst-audit2 \
+- tst-stackguard1 tst-addr1
++ tst-stackguard1 tst-addr1 tst-thrlock
+ # reldep9
+ test-srcs = tst-pathopt
+ tests-vis-yes = vismain
+@@ -916,3 +916,5 @@
+ tst-leaks1-ENV = MALLOC_TRACE=$(objpfx)tst-leaks1.mtrace
+
+ $(objpfx)tst-addr1: $(libdl)
++
++$(objpfx)tst-thrlock: $(libdl) $(shared-thread-library)
+Index: libc/elf/dl-close.c
+diff -u libc/elf/dl-close.c:1.117 libc/elf/dl-close.c:1.117.2.1
+--- libc/elf/dl-close.c:1.117 Tue Sep 19 15:39:42 2006
++++ libc/elf/dl-close.c Fri Jan 12 15:21:33 2007
+@@ -101,22 +101,9 @@
+
+
+ void
+-_dl_close (void *_map)
++_dl_close_worker (struct link_map *map)
+ {
+- struct link_map *map = _map;
+ Lmid_t ns = map->l_ns;
+- unsigned int i;
+- /* First see whether we can remove the object at all. */
+- if (__builtin_expect (map->l_flags_1 & DF_1_NODELETE, 0)
+- && map->l_init_called)
+- /* Nope. Do nothing. */
+- return;
+-
+- if (__builtin_expect (map->l_direct_opencount, 1) == 0)
+- GLRO(dl_signal_error) (0, map->l_name, NULL, N_("shared object not open"));
+-
+- /* Acquire the lock. */
+- __rtld_lock_lock_recursive (GL(dl_load_lock));
+
+ /* One less direct use. */
+ --map->l_direct_opencount;
+@@ -137,7 +124,6 @@
+ _dl_debug_printf ("\nclosing file=%s; direct_opencount=%u\n",
+ map->l_name, map->l_direct_opencount);
+
+- __rtld_lock_unlock_recursive (GL(dl_load_lock));
+ return;
+ }
+
+@@ -240,7 +226,7 @@
+ #endif
+ bool unload_any = false;
+ unsigned int first_loaded = ~0;
+- for (i = 0; i < nloaded; ++i)
++ for (unsigned int i = 0; i < nloaded; ++i)
+ {
+ struct link_map *imap = maps[i];
+
+@@ -411,7 +397,7 @@
+
+ /* Check each element of the search list to see if all references to
+ it are gone. */
+- for (i = first_loaded; i < nloaded; ++i)
++ for (unsigned int i = first_loaded; i < nloaded; ++i)
+ {
+ struct link_map *imap = maps[i];
+ if (!used[i])
+@@ -627,6 +613,30 @@
+ goto retry;
+
+ dl_close_state = not_pending;
++}
++
++
++void
++_dl_close (void *_map)
++{
++ struct link_map *map = _map;
++
++ /* First see whether we can remove the object at all. */
++ if (__builtin_expect (map->l_flags_1 & DF_1_NODELETE, 0))
++ {
++ assert (map->l_init_called);
++ /* Nope. Do nothing. */
++ return;
++ }
++
++ if (__builtin_expect (map->l_direct_opencount, 1) == 0)
++ GLRO(dl_signal_error) (0, map->l_name, NULL, N_("shared object not open"));
++
++ /* Acquire the lock. */
++ __rtld_lock_lock_recursive (GL(dl_load_lock));
++
++ _dl_close_worker (map);
++
+ __rtld_lock_unlock_recursive (GL(dl_load_lock));
+ }
+
+Index: libc/elf/dl-debug.c
+diff -u libc/elf/dl-debug.c:1.16 libc/elf/dl-debug.c:1.16.2.1
+--- libc/elf/dl-debug.c:1.16 Wed Mar 1 06:18:30 2006
++++ libc/elf/dl-debug.c Fri Jan 12 14:54:57 2007
+@@ -54,7 +54,7 @@
+ else
+ r = &GL(dl_ns)[ns]._ns_debug;
+
+- if (r->r_brk == 0 || ldbase != 0)
++ if (r->r_map == NULL || ldbase != 0)
+ {
+ /* Tell the debugger where to find the map of loaded objects. */
+ r->r_version = 1 /* R_DEBUG_VERSION XXX */;
+Index: libc/elf/dl-load.c
+diff -u libc/elf/dl-load.c:1.279 libc/elf/dl-load.c:1.279.2.1
+--- libc/elf/dl-load.c:1.279 Tue Aug 29 02:43:42 2006
++++ libc/elf/dl-load.c Fri Jan 12 15:28:03 2007
+@@ -511,7 +511,7 @@
+ }
+
+
+-static void
++static bool
+ internal_function
+ decompose_rpath (struct r_search_path_struct *sps,
+ const char *rpath, struct link_map *l, const char *what)
+@@ -546,19 +546,8 @@
+ {
+ /* This object is on the list of objects for which the
+ RUNPATH and RPATH must not be used. */
<<Diff was trimmed, longer than 597 lines>>
More information about the pld-cvs-commit
mailing list