diff options
author | Florian Weimer <fweimer@redhat.com> | 2016-11-30 16:23:58 +0100 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2016-11-30 16:23:58 +0100 |
commit | b04beebf0731c0da49bf9113bf299acf56e4c2e5 (patch) | |
tree | e9d30cedb0a14f36f23dcab98641603c2cbe92dc /elf | |
parent | 9e78f6f6e7134a5f299cc8de77370218f8019237 (diff) | |
download | glibc-b04beebf0731c0da49bf9113bf299acf56e4c2e5.tar.gz glibc-b04beebf0731c0da49bf9113bf299acf56e4c2e5.tar.xz glibc-b04beebf0731c0da49bf9113bf299acf56e4c2e5.zip |
ld.so: Remove __libc_memalign
It is no longer needed since commit 6c444ad6e953dbdf9c7be065308a0a777 (elf: Do not use memalign for TCB/TLS blocks allocation [BZ #17730]). Applications do not link against ld.so and will use the definition in libc.so, so there is no ABI impact.
Diffstat (limited to 'elf')
-rw-r--r-- | elf/Versions | 4 | ||||
-rw-r--r-- | elf/dl-minimal.c | 18 |
2 files changed, 9 insertions, 13 deletions
diff --git a/elf/Versions b/elf/Versions index 05e5449f4d..08f76a7a20 100644 --- a/elf/Versions +++ b/elf/Versions @@ -34,8 +34,8 @@ libc { ld { GLIBC_2.0 { - # Function from libc.so which must be shared with libc. - __libc_memalign; calloc; free; malloc; realloc; + # Functions which are interposed from libc.so. + calloc; free; malloc; realloc; _r_debug; } diff --git a/elf/dl-minimal.c b/elf/dl-minimal.c index 6034b5a3fa..116ec4978c 100644 --- a/elf/dl-minimal.c +++ b/elf/dl-minimal.c @@ -31,8 +31,10 @@ #include <assert.h> -/* Minimal `malloc' allocator for use while loading shared libraries. - No block is ever freed. */ +/* Minimal malloc allocator for used during initial link. After the + initial link, a full malloc implementation is interposed, either + the one in libc, or a different one supplied by the user through + interposition. */ static void *alloc_ptr, *alloc_end, *alloc_last_block; @@ -49,7 +51,7 @@ extern unsigned long int weak_function strtoul (const char *nptr, /* Allocate an aligned memory block. */ void * weak_function -__libc_memalign (size_t align, size_t n) +malloc (size_t n) { if (alloc_end == 0) { @@ -62,8 +64,8 @@ __libc_memalign (size_t align, size_t n) } /* Make sure the allocation pointer is ideally aligned. */ - alloc_ptr = (void *) 0 + (((alloc_ptr - (void *) 0) + align - 1) - & ~(align - 1)); + alloc_ptr = (void *) 0 + (((alloc_ptr - (void *) 0) + MALLOC_ALIGNMENT - 1) + & ~(MALLOC_ALIGNMENT - 1)); if (alloc_ptr + n >= alloc_end || n >= -(uintptr_t) alloc_ptr) { @@ -88,12 +90,6 @@ __libc_memalign (size_t align, size_t n) return alloc_last_block; } -void * weak_function -malloc (size_t n) -{ - return __libc_memalign (MALLOC_ALIGNMENT, n); -} - /* We use this function occasionally since the real implementation may be optimized when it can assume the memory it returns already is set to NUL. */ |