Changeset View
Standalone View
lib/libc/gen/Symbol.map
Show First 20 Lines • Show All 420 Lines • ▼ Show 20 Lines | |||||
}; | }; | ||||
FBSD_1.6 { | FBSD_1.6 { | ||||
eventfd; | eventfd; | ||||
eventfd_read; | eventfd_read; | ||||
eventfd_write; | eventfd_write; | ||||
getlogin_r; | getlogin_r; | ||||
memalign; | memalign; | ||||
pthread_getname_np; | |||||
scandir_b; | scandir_b; | ||||
sigandset; | sigandset; | ||||
sigisemptyset; | sigisemptyset; | ||||
sigorset; | sigorset; | ||||
tcgetwinsize; | tcgetwinsize; | ||||
tcsetwinsize; | tcsetwinsize; | ||||
}; | }; | ||||
FBSD_1.7 { | FBSD_1.7 { | ||||
kqueue1; | kqueue1; | ||||
posix_spawn_file_actions_addchdir_np; | posix_spawn_file_actions_addchdir_np; | ||||
posix_spawn_file_actions_addclosefrom_np; | posix_spawn_file_actions_addclosefrom_np; | ||||
posix_spawn_file_actions_addfchdir_np; | posix_spawn_file_actions_addfchdir_np; | ||||
scandirat; | scandirat; | ||||
jrtc27: Should the version match libthr's? All other pthread_* symbols do. | |||||
Done Inline ActionsYes it must. kib: Yes it must. | |||||
sched_getaffinity; | sched_getaffinity; | ||||
sched_setaffinity; | sched_setaffinity; | ||||
sched_getcpu; | sched_getcpu; | ||||
versionsort; | versionsort; | ||||
__cpuset_alloc; | __cpuset_alloc; | ||||
__cpuset_free; | __cpuset_free; | ||||
}; | }; | ||||
Show All 31 Lines | FBSDprivate_1.0 { | ||||
_pthread_cond_signal; | _pthread_cond_signal; | ||||
_pthread_cond_timedwait; | _pthread_cond_timedwait; | ||||
_pthread_cond_wait; | _pthread_cond_wait; | ||||
_pthread_detach; | _pthread_detach; | ||||
_pthread_equal; | _pthread_equal; | ||||
_pthread_exit; | _pthread_exit; | ||||
_pthread_getspecific; | _pthread_getspecific; | ||||
_pthread_join; | _pthread_join; | ||||
_pthread_key_create; | _pthread_key_create; | ||||
Done Inline ActionsI do not think this is needed/useful. kib: I do not think this is needed/useful. | |||||
Done Inline ActionsI'm importing jemalloc 5.3.0 (D41421) which requires _pthread_getname_np in contrib/jemalloc/prof_sys.c. (The original code uses pthread_getname_np but it is patched by contrib/jemalloc/include/jemalloc/jemalloc_FreeBSD.h to use _pthread_getname_np. minsoochoo0122_proton.me: I'm importing jemalloc 5.3.0 (D41421) which requires `_pthread_getname_np` in… | |||||
Done Inline ActionsIf inside libc, you do not need to export the symbol. Also I think it better to stop using the namespacing, it really does not work as intended. kib: If inside libc, you do not need to export the symbol. Also I think it better to stop using the… | |||||
Done Inline Actionspthread_getname_np is only used for internal use by libc, so should I remove pthread_getname_np from the symbol map? minsoochoo0122_proton.me: pthread_getname_np is only used for internal use by libc, so should I remove… | |||||
Done Inline ActionsSince you add the jump slot for it, why not export? Namespacing is the trick where exported functions are renamed in headers by prepending the underscore before the usual name. Idea, as I understand, was that normal symbols like open() are supposed to be interposed and exported as weak symbols, while underscored symbols are non-weak. Then libc using _XXX symbols should get some protection against applications interposing system interfaces and change libc behavior. Of course this was a failure because 1. weak is not supposed to behave this way in ELF 2. _[a-z] is still app namespace and can be legitimately exported by apps, thus interposing libc symbols 3. use of namespacing is not consistent, and it is hard to decide when we want to allow interposing (like malloc(3)) and when we do not want to. What you see above are remnants of this experiment. Also see lib/libc/include/{,un-}namespace.h kib: Since you add the jump slot for it, why not export?
Namespacing is the trick where exported… | |||||
_pthread_key_delete; | _pthread_key_delete; | ||||
_pthread_kill; | _pthread_kill; | ||||
_pthread_main_np; | _pthread_main_np; | ||||
_pthread_mutex_destroy; | _pthread_mutex_destroy; | ||||
_pthread_mutex_init_calloc_cb; | _pthread_mutex_init_calloc_cb; | ||||
_pthread_mutex_init; | _pthread_mutex_init; | ||||
_pthread_mutex_lock; | _pthread_mutex_lock; | ||||
_pthread_mutex_trylock; | _pthread_mutex_trylock; | ||||
▲ Show 20 Lines • Show All 78 Lines • Show Last 20 Lines |
Should the version match libthr's? All other pthread_* symbols do.