diff --git a/recipes-core/musl/files/openharmony-linux-user.patch b/recipes-core/musl/files/openharmony-linux-user.patch index 5c4c603818cedc804af3e2ec09d535c743bd2801..9e7019628ec96fa5f6f40a9fc709c83816ae21d9 100644 --- a/recipes-core/musl/files/openharmony-linux-user.patch +++ b/recipes-core/musl/files/openharmony-linux-user.patch @@ -5,10 +5,11 @@ Patch generated from OpenHarmony-v3.0-LTS version, with the following commands: cp -r porting/linux/user/* . + git add -A --staged git diff > openharmony-linux-user.patch The hunks from 0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch in -Yocto was removed here. +Yocto was removed manually afterwards. Upstream-status: Pending Signed-off-by: Esben Haabendal <esben.haabendal@huawei.com> @@ -100,6 +101,60 @@ index 984db6806418..73793e47ef53 100644 #define __NEED_time_t #define __NEED_clockid_t #define __NEED_struct_timespec +diff --git a/include/sys/capability.h b/include/sys/capability.h +new file mode 100644 +index 000000000000..ed2ff97783b1 +--- /dev/null ++++ b/include/sys/capability.h +@@ -0,0 +1,48 @@ ++/* ++ * Copyright (c) 2013-2019, Huawei Technologies Co., Ltd. All rights reserved. ++ * Copyright (c) 2020, Huawei Device Co., Ltd. All rights reserved. ++ * ++ * Redistribution and use in source and binary forms, with or without modification, ++ * are permitted provided that the following conditions are met: ++ * ++ * 1. Redistributions of source code must retain the above copyright notice, this list of ++ * conditions and the following disclaimer. ++ * ++ * 2. Redistributions in binary form must reproduce the above copyright notice, this list ++ * of conditions and the following disclaimer in the documentation and/or other materials ++ * provided with the distribution. ++ * ++ * 3. Neither the name of the copyright holder nor the names of its contributors may be used ++ * to endorse or promote products derived from this software without specific prior written ++ * permission. ++ * ++ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ++ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, ++ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR ++ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR ++ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, ++ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, ++ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; ++ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, ++ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR ++ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ++ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ++ */ ++ ++#ifndef _SYS_CAPABILITY_H ++#define _SYS_CAPABILITY_H ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++#include <linux/capability.h> ++ ++int capget(cap_user_header_t hdr_ptr, cap_user_data_t data_ptr); ++int capset(cap_user_header_t hdr_ptr, const cap_user_data_t data_ptr); ++ ++#ifdef __cplusplus ++} ++#endif ++ ++#endif /* _SYS_CAPABILITY_H */ diff --git a/include/sys/sysinfo.h b/include/sys/sysinfo.h index 6a3931e52010..9b095ffb500b 100644 --- a/include/sys/sysinfo.h @@ -219,6 +274,20 @@ index 1f59e8e619f5..d1620e6e2812 100644 - return rl.rlim_cur / 512; + return rl.rlim_cur == RLIM_INFINITY? LONG_MAX : rl.rlim_cur / 512; } +diff --git a/src/linux/gettid.c b/src/linux/gettid.c +new file mode 100644 +index 000000000000..70767137e92f +--- /dev/null ++++ b/src/linux/gettid.c +@@ -0,0 +1,8 @@ ++#define _GNU_SOURCE ++#include <unistd.h> ++#include "pthread_impl.h" ++ ++pid_t gettid(void) ++{ ++ return __pthread_self()->tid; ++} diff --git a/src/malloc/malloc.c b/src/malloc/malloc.c index 96982596b94d..07848ec1e09a 100644 --- a/src/malloc/malloc.c