aboutsummaryrefslogtreecommitdiff
path: root/libc/bionic/bionic_allocator.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add a thread-properties APIVy Nguyen2020-08-111-0/+20
| | | | | | | | | | (Based on proposal at https://sourceware.org/glibc/wiki/ThreadPropertiesAPI) This includes API to: - locate static and dynamic TLS - register thread-exit and dynamic TLS creation/destruction callbacks Change-Id: Icd9d29a5b2f47495395645e19d3b2c96826f19c8
* Move bionic_macros.h from private to platform.Josh Gao2020-01-021-1/+1
| | | | | Test: treehugger Change-Id: Ie473914f4c8924c7240b3ac22093a9daf42fc948
* Make private/bionic_page.h available as platform/bionic/page.h.Elliott Hughes2019-12-121-1/+1
| | | | | | Bug: http://b/145825270 Test: treehugger Change-Id: I52958f370c0df2c02cb8250e2cf0705d4e93e908
* Fix BionicAllocator commentRyan Prichard2019-04-011-6/+6
| | | | | | Test: n/a Bug: none Change-Id: Ic437d35231b47553add49e20d7ee451d42db710c
* libasync_safe: stop clobbering other folks' identifiers.Elliott Hughes2019-02-141-0/+1
| | | | | | | | | | | | The log priorities and ids are in an NDK header, available to everyone. Move CHECK into its own header for now. This would be better if it was more like the <android-base/logging.h> CHECK family, but I don't have an easy way to do that without lots of copy & paste, so punting for now. Bug: https://issuetracker.google.com/issues/119713191 Test: boots Change-Id: I4566be8a0a024fede0e2d257c98b908ec67af2a8
* Add BionicAllocator::memalignRyan Prichard2019-01-251-14/+43
| | | | | | | | | | | | | | | Bionic needs this functionality to allocate a TLS segment with greater than 16-byte alignment. For simplicity, this allocator only supports up to one page of alignment. The memory layout changes slightly when allocating an object of exactly PAGE_SIZE alignment. Instead of allocating the page_info header at the start of the page containing the pointer, it is allocated at the start of the preceding page. Bug: http://b/78026329 Test: linker-unit-tests{32,64} Change-Id: I1c8d1cd7ca72d113bced5ee15ba8d831426b0081
* Move the linker allocator into libcRyan Prichard2019-01-251-0/+374
Rename LinkerMemoryAllocator -> BionicAllocator Rename LinkerSmallObjectAllocator -> BionicSmallObjectAllocator libc and the linker need to share an instance of the allocator for allocating and freeing dynamic ELF TLS memory (DTVs and segments). The linker also continues to use this allocator. Bug: http://b/78026329 Test: /data/nativetest/bionic-unit-tests-static Test: /data/nativetest64/bionic-unit-tests-static Test: /data/nativetest/linker-unit-tests/linker-unit-tests32 Test: /data/nativetest64/linker-unit-tests/linker-unit-tests64 Change-Id: I2da037006ddf8041a75f3eba2071a8fcdcc223ce