[libc][Obvious] Remove an unnecessary dep and use inline_memcpy.

An unnecessary dep of the getenv function is removed. From the x86_64
loader, a call to __llvm_libc::memcpy is replaced with call to
__llvm_libc::inline_memcpy.
This commit is contained in:
Siva Chandra Reddy 2022-03-22 07:04:21 +00:00
parent 902f4708fe
commit b950a0d44d
3 changed files with 5 additions and 5 deletions

View file

@ -7,7 +7,7 @@ add_loader_object(
libc.include.sys_mman
libc.include.sys_syscall
libc.src.__support.OSUtil.osutil
libc.src.string.memcpy
libc.src.string.memory_utils.memcpy_implementation
COMPILE_OPTIONS
-fno-omit-frame-pointer
-ffreestanding # To avoid compiler warnings about calling the main function.

View file

@ -8,7 +8,7 @@
#include "config/linux/app.h"
#include "src/__support/OSUtil/syscall.h"
#include "src/string/memcpy.h"
#include "src/string/memory_utils/memcpy_implementations.h"
#include <asm/prctl.h>
#include <linux/auxvec.h>
@ -64,8 +64,9 @@ void initTLS() {
uintptr_t endPtr = reinterpret_cast<uintptr_t>(tlsAddr) + tlsSize;
*reinterpret_cast<uintptr_t *>(endPtr) = endPtr;
__llvm_libc::memcpy(tlsAddr, reinterpret_cast<const void *>(app.tls.address),
app.tls.size);
__llvm_libc::inline_memcpy(reinterpret_cast<char *>(tlsAddr),
reinterpret_cast<const char *>(app.tls.address),
app.tls.size);
if (__llvm_libc::syscall(SYS_arch_prctl, ARCH_SET_FS, endPtr) == -1)
__llvm_libc::syscall(SYS_exit, 1);
}

View file

@ -46,7 +46,6 @@ add_entrypoint_object(
getenv.h
DEPENDS
libc.config.linux.app_h
libc.src.string.strncmp
)
add_entrypoint_object(