platform_bionic/libc/arch-common/bionic
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
..
__dso_handle.h Remove an obsolete aarch64 hack. 2017-10-25 10:57:02 -07:00
__dso_handle_so.h Move __dso_handle to RELRO 2019-08-26 20:35:00 -07:00
asm_multiarch.h Properly align init/fini_arrays for crtend.o 2015-05-07 12:56:15 -07:00
atexit.h Fixes for __cxa_finalize 2014-05-05 11:36:57 -07:00
crt_pad_segment.S bionic: Add crt_pad_segment 2024-01-12 10:22:08 -08:00
crtbegin.c Let executables not rely on sentinels in preinit_array/init_array/fini_array 2023-09-01 10:17:05 -07:00
crtbegin_so.c Remove __stack_chk_fail_local() completely. 2021-03-17 09:02:34 -07:00
crtbrand.S [NFCI] Change Android's NT_TYPE to NT_ANDROID_TYPE. 2022-02-07 13:49:20 -08:00
crtend.S Let executables not rely on sentinels in preinit_array/init_array/fini_array 2023-09-01 10:17:05 -07:00
crtend_so.S Remove #if cruft. 2023-03-01 20:26:41 +00:00
pthread_atfork.h Stop using the __ANDROID_API_x__ constants. 2019-12-20 13:26:14 -08:00