Blame elf/libc-early-init.h

Packit Service da41ad
/* Early initialization of libc.so.
Packit Service da41ad
   Copyright (C) 2020 Free Software Foundation, Inc.
Packit Service da41ad
   This file is part of the GNU C Library.
Packit Service da41ad
Packit Service da41ad
   The GNU C Library is free software; you can redistribute it and/or
Packit Service da41ad
   modify it under the terms of the GNU Lesser General Public
Packit Service da41ad
   License as published by the Free Software Foundation; either
Packit Service da41ad
   version 2.1 of the License, or (at your option) any later version.
Packit Service da41ad
Packit Service da41ad
   The GNU C Library is distributed in the hope that it will be useful,
Packit Service da41ad
   but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service da41ad
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit Service da41ad
   Lesser General Public License for more details.
Packit Service da41ad
Packit Service da41ad
   You should have received a copy of the GNU Lesser General Public
Packit Service da41ad
   License along with the GNU C Library; if not, see
Packit Service da41ad
   <https://www.gnu.org/licenses/>.  */
Packit Service da41ad
Packit Service da41ad
#ifndef _LIBC_EARLY_INIT_H
Packit Service da41ad
#define _LIBC_EARLY_INIT_H
Packit Service da41ad
Packit Service da41ad
struct link_map;
Packit Service da41ad
Packit Service da41ad
/* If LIBC_MAP is not NULL, look up the __libc_early_init symbol in it
Packit Service 2ffbaf
   and call this function, with INITIAL as the argument.  */
Packit Service 2ffbaf
void _dl_call_libc_early_init (struct link_map *libc_map, _Bool initial)
Packit Service 2ffbaf
  attribute_hidden;
Packit Service da41ad
Packit Service da41ad
/* In the shared case, this function is defined in libc.so and invoked
Packit Service da41ad
   from ld.so (or on the fist static dlopen) after complete relocation
Packit Service da41ad
   of a new loaded libc.so, but before user-defined ELF constructors
Packit Service da41ad
   run.  In the static case, this function is called directly from the
Packit Service 2ffbaf
   startup code.  If INITIAL is true, the libc being initialized is
Packit Service 2ffbaf
   the libc for the main program.  INITIAL is false for libcs loaded
Packit Service 2ffbaf
   for audit modules, dlmopen, and static dlopen.  */
Packit Service 2ffbaf
void __libc_early_init (_Bool initial);
Packit Service da41ad
Packit Service da41ad
#endif /* _LIBC_EARLY_INIT_H */