return result;
}
-#ifndef MAP_COPY
-/* If the system does not support MAP_COPY we cannot leave the file open
- all the time since this would create problems when the file is replaced.
- Therefore we provide this function to close the file and open it again
- once needed. */
-void
-_dl_unload_cache (void)
-{
- /* Functionality is no longer needed, but kept for internal ABI for
- now. */
-}
-#endif
-
const struct tunable_header_cached *
_dl_load_cache_tunables (const char **data)
{
struct dl_exception exception;
int errcode = _dl_catch_exception (&exception, dl_open_worker, &args);
-#if defined USE_LDCONFIG && !defined MAP_COPY
- /* We must unmap the cache file. */
- _dl_unload_cache ();
-#endif
-
/* Do this for both the error and success cases. The old value has
only been determined if the namespace ID was assigned (i.e., it
is not __LM_ID_CALLER). In the success case, we actually may
/* Auditing checkpoint: we have added all objects. */
_dl_audit_activity_nsid (LM_ID_BASE, LA_ACT_CONSISTENT);
-#if defined USE_LDCONFIG && !defined MAP_COPY
- /* We must munmap() the cache file. */
- _dl_unload_cache ();
-#endif
-
/* Once we return, _dl_sysdep_start will invoke
the DT_INIT functions and then *USER_ENTRY. */
}
or null if none is found. Caller must free returned string. */
extern char *_dl_load_cache_lookup (const char *name) attribute_hidden;
-/* If the system does not support MAP_COPY we cannot leave the file open
- all the time since this would create problems when the file is replaced.
- Therefore we provide this function to close the file and open it again
- once needed. */
-extern void _dl_unload_cache (void) attribute_hidden;
-
/* System-dependent function to read a file's whole contents in the
most convenient manner available. *SIZEP gets the size of the
file. On error MAP_FAILED is returned. */