Blame elf/libc-early-init.h

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