platform_bionic/libc/private
Kalesh Singh 862a23dfdf bionic: Add crt_pad_segment
crt_pad_segment provides a note of type NT_ANDROID_TYPE_PAD_SEGMENT.
It's intended when present is for the loader to pad segment gaps to
reduce kernel slab memory usage (due to additional vm_area_struct's
for gaps). crt_pad_segment.o retains control to the static linker so
that app developers can opt out (build with different flags) it there
are undesireable side effects.

Section Headers:
  [Nr] Name              Type            Address          Off    Size   ES Flg Lk Inf Al
  [ 0]                   NULL            0000000000000000 000000 000000 00      0   0  0
  [ 1] .strtab           STRTAB          0000000000000000 0000f8 000066 00      0   0  1
  [ 2] .text             PROGBITS        0000000000000000 000040 000000 00  AX  0   0  4
  [ 3] .note.GNU-stack   PROGBITS        0000000000000000 000040 000000 00      0   0  1
  [ 4] .note.android.pad_segment NOTE            0000000000000000 000040 00001c 00   A  0   0  4
  [ 5] .rela.note.android.pad_segment RELA            0000000000000000 0000e0 000018 18   I  7   4  8
  [ 6] .debug_line       PROGBITS        0000000000000000 00005c 000052 00      0   0  1
  [ 7] .symtab           SYMTAB          0000000000000000 0000b0 000030 18      1   1  8
Key to Flags:
  W (write), A (alloc), X (execute), M (merge), S (strings), I (info),
  L (link order), O (extra OS processing required), G (group), T (TLS),
  C (compressed), x (unknown), o (OS specific), E (exclude),
  D (mbind), l (large), p (processor specific)

Bug: 316403210
Test: m -j50 ndk
Test: find out/soong/ndk -name 'crt_pad_segment.o'
Test: readelf -SW crt_pag_segment.o
Change-Id: I94af5e85fd602e7ba5fd56788ae39277368229d8
Signed-off-by: Kalesh Singh <kaleshsingh@google.com>
2024-01-12 10:22:08 -08:00
..
__bionic_get_shell_path.h Fix internal uses of _PATH_BSHELL. 2019-03-25 17:28:22 -07:00
bionic_allocator.h Add a thread-properties API 2020-08-11 16:51:43 +00:00
bionic_arc4random.h Replace TLS_SLOT_BIONIC_PREINIT w/ shared globals 2018-12-04 13:51:56 -08:00
bionic_asm.h Add the L() macro for local labels to <private/bionic_asm.h>. 2023-08-04 15:12:30 -07:00
bionic_asm_arm.h Unified sysroot: kill arch-specific include dirs. 2017-10-12 13:19:51 -07:00
bionic_asm_arm64.h Basic support for MTE stack tagging. 2022-05-26 16:18:53 -07:00
bionic_asm_dwarf_exprs.h x86/x86_64: cleanup signal trampolines 2020-09-25 15:58:42 -07:00
bionic_asm_note.h bionic: Add crt_pad_segment 2024-01-12 10:22:08 -08:00
bionic_asm_offsets.h riscv64: use vdso for __riscv_hwprobe(). 2023-07-31 12:24:31 -07:00
bionic_asm_riscv64.h riscv64: don't go via the PLT for setjmp. 2022-10-26 19:53:35 +00:00
bionic_asm_x86.h Unified sysroot: kill arch-specific include dirs. 2017-10-12 13:19:51 -07:00
bionic_asm_x86_64.h Unified sysroot: kill arch-specific include dirs. 2017-10-12 13:19:51 -07:00
bionic_auxv.h Changes for #inclusivefixit. 2020-07-21 16:34:58 -07:00
bionic_call_ifunc_resolver.h Adopt GNU calling convention for ifunc resolvers. 2019-10-28 20:20:29 -07:00
bionic_config.h Use a separate config.h for config like defines. 2014-06-16 23:35:53 -07:00
bionic_constants.h bionic: fix pthread_mutex_timedlock for PI mutexes 2023-12-13 12:10:50 -08:00
bionic_defs.h Make __clone_for_fork pure native bridge mode abstraction 2020-09-28 20:36:39 +02:00
bionic_elf_tls.h riscv64 TLS support. 2022-10-10 20:30:24 +00:00
bionic_errdefs.h Add strerrordesc_np() and strerrorname_np(). 2023-09-27 11:21:12 -07:00
bionic_fdsan.h libc_shared_globals: add a constexpr ctor 2019-01-03 17:11:27 -08:00
bionic_fdtrack.h Disable fdtrack post-fork. 2021-04-07 19:00:45 -07:00
bionic_fortify.h fortify: remove static 2020-06-09 16:03:42 -07:00
bionic_futex.h Modernize codebase by replacing NULL with nullptr 2018-08-02 18:09:44 -07:00
bionic_globals.h Plumb scudo_stack_depot_size to debuggerd_process_info 2023-12-04 16:49:35 -08:00
bionic_ieee.h Fix instances of '#if __LP64__'. 2016-09-15 14:21:28 -07:00
bionic_ifuncs.h Disable HWASAN on ifunc resolvers. 2020-08-13 13:01:44 -07:00
bionic_inline_raise.h riscv64: inline raise. 2023-08-02 16:04:25 -07:00
bionic_lock.h Move bionic_macros.h from private to platform. 2020-01-02 14:09:50 -08:00
bionic_malloc_dispatch.h Rename iterate to malloc_iterate internally. 2019-11-08 11:49:14 -08:00
bionic_mbstate.h Fix mismatched return types for surrogate pairs. 2023-08-04 19:48:35 +00:00
bionic_sigdefs.h Add strerrordesc_np() and strerrorname_np(). 2023-09-27 11:21:12 -07:00
bionic_ssp.h Clean up mips references in the headers. 2020-02-13 18:00:16 -08:00
bionic_systrace.h Revert "Adding system property tracing" 2021-07-21 09:15:41 +08:00
bionic_time_conversions.h bionic: fix pthread_mutex_timedlock for PI mutexes 2023-12-13 12:10:50 -08:00
bionic_tls.h Fix recursive deadlock inside bionic_systrace 2022-01-25 20:50:12 +00:00
bionic_vdso.h riscv64: use vdso for __riscv_hwprobe(). 2023-07-31 12:24:31 -07:00
bsd_sys_param.h Export fts as a static library for use with musl 2021-09-08 15:53:10 -07:00
CachedProperty.h Address a bunch of clang-tidy complaints. 2018-01-19 15:56:12 -08:00
CFIShadow.h bionic: CFIShadow: Remove use of PAGE_SIZE macro. 2023-08-23 13:59:57 -07:00
ErrnoRestorer.h Move bionic_macros.h from private to platform. 2020-01-02 14:09:50 -08:00
FdPath.h Add POSIX fexecve. 2017-10-18 16:26:17 -07:00
get_cpu_count_from_string.h Fix the way to count online cpus. 2015-09-29 17:49:37 -07:00
grp_pwd.h Require vendor users and groups to start with vendor_ 2018-05-15 14:10:21 -07:00
icu.h Implement <iconv.h>. 2017-08-25 08:47:41 -07:00
KernelArgumentBlock.h Move bionic_macros.h from private to platform. 2020-01-02 14:09:50 -08:00
linker_native_bridge.h Reorganize static TLS memory for ELF TLS 2019-01-11 15:34:22 -08:00
MallocXmlElem.h Move bionic_macros.h from private to platform. 2020-01-02 14:09:50 -08:00
NetdClientDispatch.h libnetd_client: support hooking sendto/sendmsg/sendmmsg too. 2019-06-20 08:32:24 -07:00
ScopedFd.h Move bionic_macros.h from private to platform. 2020-01-02 14:09:50 -08:00
ScopedPthreadMutexLocker.h Move bionic_macros.h from private to platform. 2020-01-02 14:09:50 -08:00
ScopedReaddir.h Move bionic_macros.h from private to platform. 2020-01-02 14:09:50 -08:00
ScopedRWLock.h Move bionic_macros.h from private to platform. 2020-01-02 14:09:50 -08:00
ScopedSignalBlocker.h Block all signals in ScopedSignalBlocker. 2020-04-23 15:57:58 -07:00
ScopedSignalHandler.h Fix/suppress bionic google-explicit-constructor warnings 2019-01-02 11:04:05 -08:00
SigSetConverter.h De-pessimize SigSetConverter usage. 2023-07-19 12:20:07 -07:00
thread_private.h Remove unused _ARC4_ATFORK() macro. 2023-07-18 22:44:40 +00:00
WriteProtected.h WriteProtected: std::atomic<T> is no longer POD 2024-01-08 15:17:35 -08:00