README (3197aa64bfc2eb6662d48b7c4cb38cabbe816d2e) README (7f9dc0eec05dc1280e3a494124572c5814e7aef9)
1#
2# CDDL HEADER START
3#
4# The contents of this file are subject to the terms of the
5# Common Development and Distribution License (the "License").
6# You may not use this file except in compliance with the License.
7#
8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE

--- 166 unchanged lines hidden (view full) ---

175 function can be serialized with fork_lock_enter() instead
176 of lmutex_lock().
177
178 * If the memory allocation by malloc() cannot be avoided and
179 the scalability of the function does matter, another
180 implementation of the function will be necessary.
181
182In a DEBUG build of libc:
1#
2# CDDL HEADER START
3#
4# The contents of this file are subject to the terms of the
5# Common Development and Distribution License (the "License").
6# You may not use this file except in compliance with the License.
7#
8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE

--- 166 unchanged lines hidden (view full) ---

175 function can be serialized with fork_lock_enter() instead
176 of lmutex_lock().
177
178 * If the memory allocation by malloc() cannot be avoided and
179 the scalability of the function does matter, another
180 implementation of the function will be necessary.
181
182In a DEBUG build of libc:
183 make THREAD_DEBUG=-DTHREAD_DEBUG install
183 make THREAD_DEBUG=-DDEBUG install
184many of these rules are enforced by ASSERT() statements scattered about
185in the libc sources. This is the default mode for building libc when
186a DEBUG nightly build is performed.
187
188# libaio/librt Implementation In libc
189
190The putback of the project:
191 6416832 libaio and librt can and should be folded into libc

--- 43 unchanged lines hidden (view full) ---

235(generally, one or the other will be a weak symbol, precisely which is
236inconsistent).
237
238These synonym symbols existed such that an application which provided
239otherwise conflicting symbols could interpose on the version in libc without
240compromising libc itself, that is if libc defines fopen() which needs open() it
241would call _open() and an application defined open() would not cause fopen()
242to break. This was made transparent to code within libc via a header,
184many of these rules are enforced by ASSERT() statements scattered about
185in the libc sources. This is the default mode for building libc when
186a DEBUG nightly build is performed.
187
188# libaio/librt Implementation In libc
189
190The putback of the project:
191 6416832 libaio and librt can and should be folded into libc

--- 43 unchanged lines hidden (view full) ---

235(generally, one or the other will be a weak symbol, precisely which is
236inconsistent).
237
238These synonym symbols existed such that an application which provided
239otherwise conflicting symbols could interpose on the version in libc without
240compromising libc itself, that is if libc defines fopen() which needs open() it
241would call _open() and an application defined open() would not cause fopen()
242to break. This was made transparent to code within libc via a header,
243synonyms.h, which would #define open _open, for all such symbols.
243synonyms.h, which would #define open _open, for all such symbols.
244
245Since ON now uses direct bindings extensively all symbols not explicitly
246marked "NODIRECT" are directly bound within libc anyway, and none of this is
247actually necessary. Thus synonyms.h was removed, and no new synonym symbols
248need be added. However, unfortunately, certain of the private symbols were
249inadvertently exposed to applications, and several are known to have been
250used, thus these existing synonyms must continue to exist to maintain
251compatibility. A preloadable library, /lib/c_synonyms.so.1 is provided which

--- 28 unchanged lines hidden ---
244
245Since ON now uses direct bindings extensively all symbols not explicitly
246marked "NODIRECT" are directly bound within libc anyway, and none of this is
247actually necessary. Thus synonyms.h was removed, and no new synonym symbols
248need be added. However, unfortunately, certain of the private symbols were
249inadvertently exposed to applications, and several are known to have been
250used, thus these existing synonyms must continue to exist to maintain
251compatibility. A preloadable library, /lib/c_synonyms.so.1 is provided which

--- 28 unchanged lines hidden ---