This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH v3] libc: Extend __libc_freeres framework (Bug 23329).


+	[BZ #23329]
+	* include/libc-symbols.h: Comment the freeres framework.
+	* include/set-hooks.h: Include libc-symbols.h.  Fix comment.
+	* dlfcn/Makefile (libdl-routines): Add dlfreeres.
+	* dlfcn/Versions (GLIBC_PRIVATE): Add __libdl_freeres.
+	* dlfcn/dlerror.c: Include libc-symbols.h
+	(__dlerror_main_freeres): New function.
+	* dlfcn/dlfreeres.c: New file.
+	* dlfcn/sdlfreeres.c: New file.
+	* include/dlfcn.h: Declare __dlerror_main_freeres.
+	* malloc/set-freeres.c: Declare __libdl_freeres, and
+	__libpthread_freeres.
+	(__libc_subfreeres): Call __libdl_freeres, and __libpthread_freeres if
+	the releavant libraries are loaded.
+	* malloc/thread-freeres.c: Add comments.
+	* nptl/Makefile (libpthread-routines): Add nptlfreeres.
+	* nptl/Version (GLIBC_PRIVATE): Add __libpthread_freeres.
+	* nptl/allocatestack.c (__nptl_free_stacks): New function.
+	(__free_stacks): Rename to...
+	(free_stacks): ...this. Mark static.
+	(queue_stack): Call free_stacks.
+	* nptl/libc_pthread_init.c [SHARED] (freeres_libpthread): Delete.
+	* nptl/nptl-init.c: Delete delcaration of nptl_freeres.
+	* sysdeps/nptl/pthread-functions.h (pthread_functions): Remove
+	ptr_freeres element from struct.
+	(pthread_functions): Remove .ptr_freeres from struct initializer.
+	[SHARED] (nptl_freeres): Remove.
+	* nptl/nptlfreeres.c: New file.
+	* nptl/pthreadP.h
+	[IS_IN (libpthread) && SHARED ] (__unwind_freeres): Rename to...
+	[IS_IN (libpthread)] (__nptl_unwind_freeres): ...this.  Mark
+	attribute_hidden.
+	(__free_stacks): Rename to...
+	(__nptl_stacks_freeres): ...this.
+	(__shm_directory_freeres): Declare.
+	* nptl/unwind-forcedunwind.c (__unwind_freeres): Rename to...
+	(__nptl_unwind_freeres): ...this.
+	* resolv/res-close.c: Add comment.
+	* resolv/resolv_conf.c: Include libc-symbols.h.
+	* string/strerror_l.c: Include libc-symbols.h.
+	* sunrpc/rpc_thread.c: Include libc-symbols.h.
+	* sysdeps/mach/strerror_l.c: Inlcude libc-symbols.h
+	* sysdeps/unix/sysv/linux/shm-directory.c (freeit): Rename to...
+	[IS_IN (libpthread)] (__shm_directory_freeres): ...this.

ChangeLog looks okay now (but it still does not apply with git am -3 --reject).
diff --git a/dlfcn/dlfreeres.c b/dlfcn/dlfreeres.c
new file mode 100644
index 0000000000..8c18731b5c
+void
+__libdl_freeres (void)
+{
+  call_function_static_weak (__dlerror_main_freeres);
+}
+libc_hidden_def (__libdl_freeres)

Please remove the last line of the file before committing. It is a no-op (otherwise it wouldn't compile due to the missing libc_hidden_proto).

Thanks,
Florian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]