Summary: | [libexec] [patch] Allow for an alternative run-time loader | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | Base System | Reporter: | Yuri Victorovich <yuri> | ||||||||
Component: | kern | Assignee: | freebsd-bugs (Nobody) <bugs> | ||||||||
Status: | Open --- | ||||||||||
Severity: | Affects Only Me | CC: | emaste, kevans | ||||||||
Priority: | Normal | Keywords: | patch | ||||||||
Version: | Unspecified | ||||||||||
Hardware: | Any | ||||||||||
OS: | Any | ||||||||||
Attachments: |
|
Description
Yuri Victorovich
2014-02-03 23:40:01 UTC
I do not like this patch at all, sorry. While I do appreciate the goal, the way taken here is just wrong - the locking done by rtld internally is just that - internal detail that is not to be paraded publicly in front of an an innocent outside world. Over several last years we have been over several lock implementations and locking semantics have changed subtly couple more times. Would you be willing instead to formulate a functional interface that rtld can expose to provide necessary services to add/remove dynamic objects and that will allow us to keep all of this dirty laundry under the wraps? The patch as is cannot be committed. -- Alexander Kabaev Yes, I knew that exposing locks is not nice. However, the upside was that the patch was extremely simple. I reworked it into the proper implementation. I added r_debug_add and r_debug_delete, with all locks hidden in them. They by themselves are sufficient for the goal. I also added r_debug_iterate, in order to potentially gain access to the list we are manipulating with. This is just in order to not lose any functionality that was made available with the previous patch. Yuri Created attachment 169797 [details]
patch
Updated as of 10.3
Created attachment 169799 [details]
patch
For bugs matching the following conditions: - Status == In Progress - Assignee == "bugs@FreeBSD.org" - Last Modified Year <= 2017 Do - Set Status to "Open" For bugs matching the following conditions: - Status == In Progress - Assignee == "bugs@FreeBSD.org" - Last Modified Year <= 2017 Do - Set Status to "Open" (In reply to Yuri Victorovich from comment #4) Hi Yuri, Can you rebase this patch against head and throw it into Phabricator, tagging kan@ and kib@ (maybe) for review, please? If you could also add me to subscribers, I would appreciate it. (In reply to Kyle Evans from comment #7) Hi Kyle, I'll update the patch within a few days. Thanks! Yuri |