Blame elf/libc-early-init.h

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