NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

PR/59751 CVS commit: src



The following reply was made to PR lib/59751; it has been noted by GNATS.

From: "Taylor R Campbell" <riastradh%netbsd.org@localhost>
To: gnats-bugs%gnats.NetBSD.org@localhost
Cc: 
Subject: PR/59751 CVS commit: src
Date: Thu, 16 Jul 2026 02:50:11 +0000

 Module Name:	src
 Committed By:	riastradh
 Date:		Thu Jul 16 02:50:11 UTC 2026
 
 Modified Files:
 	src/distrib/sets/lists/debug: shl.mi
 	src/distrib/sets/lists/tests: shl.mi
 	src/tests/libexec/ld.elf_so: Makefile t_dlclose_thread.c
 Added Files:
 	src/tests/libexec/ld.elf_so/helper_recurdso: Makefile
 	    h_helper_recurdso.c
 	src/tests/libexec/ld.elf_so/helper_recurdso2: Makefile
 	    h_helper_recurdso2.c
 
 Log Message:
 t_dlclose_thread: Test recursive dlopen/dlclose too.
 
 Simple test first:
 
 - h_helper_recurdso dlopens h_helper_dso2
 - h_helper_dso2 needs h_helper_dso1
 
 When dlopening h_helper_recurdso, the initialization order must be:
 
 ENTER h_helper_recurdso
 -> h_helper_dso1
 -> h_helper_dso2
 LEAVE h_helper_recurdso
 
 For the more complex test, we have the relations:
 
 - h_helper_recurdso2 needs h_helper_recurdso
 - h_helper_recurdso dlopens h_helper_dso2
 - h_helper_dso2 needs h_helper_dso1
 
 (And the finalization order must be in reverse.)
 
 When dlopening h_helper_recurdso2, the initialization order,
 therefore, must be:
 
 ENTER h_helper_recurdso
 -> h_helper_dso1
 -> h_helper_dso2
 LEAVE h_helper_recurdso
 h_helper_recurdso2
 
 PR lib/59751: dlclose is not MT-safe depending on the libraries
 unloaded
 
 (Really, this is about a followup bug in the fix for that issue,
 which broke recursive dlopen/dlclose.)
 
 
 To generate a diff of this commit:
 cvs rdiff -u -r1.409 -r1.410 src/distrib/sets/lists/debug/shl.mi
 cvs rdiff -u -r1.17 -r1.18 src/distrib/sets/lists/tests/shl.mi
 cvs rdiff -u -r1.35 -r1.36 src/tests/libexec/ld.elf_so/Makefile
 cvs rdiff -u -r1.3 -r1.4 src/tests/libexec/ld.elf_so/t_dlclose_thread.c
 cvs rdiff -u -r0 -r1.1 src/tests/libexec/ld.elf_so/helper_recurdso/Makefile \
     src/tests/libexec/ld.elf_so/helper_recurdso/h_helper_recurdso.c
 cvs rdiff -u -r0 -r1.1 src/tests/libexec/ld.elf_so/helper_recurdso2/Makefile \
     src/tests/libexec/ld.elf_so/helper_recurdso2/h_helper_recurdso2.c
 
 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.
 



Home | Main Index | Thread Index | Old Index