mirror of
git://git.openembedded.org/meta-openembedded
synced 2026-01-01 13:58:06 +00:00
Android-tools: Support Risc-V ISA
Risc-V ADB implementation is based on ARM64 implemtentation. The core change is leverage fence command to implement memroy barrier featrue. Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
parent
6ca376e811
commit
794d0cc12e
|
|
@ -0,0 +1,359 @@
|
|||
From 82dce13ea7b5b31c63851bd67f66072413917e73 Mon Sep 17 00:00:00 2001
|
||||
From: Chenxi Mao <maochenxi@eswin.com>
|
||||
Date: Mon, 20 Apr 2020 15:32:40 +0800
|
||||
Subject: [PATCH 1/1] Riscv: Add risc-v Android config header
|
||||
|
||||
---
|
||||
.../arch/linux-riscv64/AndroidConfig.h | 340 ++++++++++++++++++
|
||||
1 file changed, 340 insertions(+)
|
||||
create mode 100644 core/combo/include/arch/linux-riscv64/AndroidConfig.h
|
||||
|
||||
diff --git a/core/combo/include/arch/linux-riscv64/AndroidConfig.h b/core/combo/include/arch/linux-riscv64/AndroidConfig.h
|
||||
new file mode 100644
|
||||
index 0000000000..bcbda8f87f
|
||||
--- /dev/null
|
||||
+++ b/core/combo/include/arch/linux-riscv64/AndroidConfig.h
|
||||
@@ -0,0 +1,340 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2013 The Android Open Source Project
|
||||
+ *
|
||||
+ * Licensed under the Apache License, Version 2.0 (the "License");
|
||||
+ * you may not use this file except in compliance with the License.
|
||||
+ * You may obtain a copy of the License at
|
||||
+ *
|
||||
+ * http://www.apache.org/licenses/LICENSE-2.0
|
||||
+ *
|
||||
+ * Unless required by applicable law or agreed to in writing, software
|
||||
+ * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
+ * See the License for the specific language governing permissions and
|
||||
+ * limitations under the License.
|
||||
+ */
|
||||
+
|
||||
+/*
|
||||
+ * Android config -- "android-aarch64". Used for ARM aarch64 device builds.
|
||||
+ */
|
||||
+#ifndef _ANDROID_CONFIG_H
|
||||
+#define _ANDROID_CONFIG_H
|
||||
+
|
||||
+/*
|
||||
+ * ===========================================================================
|
||||
+ * !!! IMPORTANT !!!
|
||||
+ * ===========================================================================
|
||||
+ *
|
||||
+ * This file is included by ALL C/C++ source files. Don't put anything in
|
||||
+ * here unless you are absolutely certain it can't go anywhere else.
|
||||
+ *
|
||||
+ * Any C++ stuff must be wrapped with "#ifdef __cplusplus". Do not use "//"
|
||||
+ * comments.
|
||||
+ */
|
||||
+
|
||||
+/*
|
||||
+ * Threading model. Choose one:
|
||||
+ *
|
||||
+ * HAVE_PTHREADS - use the pthreads library.
|
||||
+ * HAVE_WIN32_THREADS - use Win32 thread primitives.
|
||||
+ * -- combine HAVE_CREATETHREAD, HAVE_CREATEMUTEX, and HAVE__BEGINTHREADEX
|
||||
+ */
|
||||
+#define HAVE_PTHREADS
|
||||
+
|
||||
+/*
|
||||
+ * Do we have pthread_setname_np()?
|
||||
+ *
|
||||
+ * (HAVE_PTHREAD_SETNAME_NP is used by WebKit to enable a function with
|
||||
+ * the same name but different parameters, so we can't use that here.)
|
||||
+ */
|
||||
+#define HAVE_ANDROID_PTHREAD_SETNAME_NP
|
||||
+
|
||||
+/*
|
||||
+ * Do we have the futex syscall?
|
||||
+ */
|
||||
+#define HAVE_FUTEX
|
||||
+
|
||||
+/*
|
||||
+ * Process creation model. Choose one:
|
||||
+ *
|
||||
+ * HAVE_FORKEXEC - use fork() and exec()
|
||||
+ * HAVE_WIN32_PROC - use CreateProcess()
|
||||
+ */
|
||||
+#define HAVE_FORKEXEC
|
||||
+
|
||||
+/*
|
||||
+ * Process out-of-memory adjustment. Set if running on Linux,
|
||||
+ * where we can write to /proc/<pid>/oom_adj to modify the out-of-memory
|
||||
+ * badness adjustment.
|
||||
+ */
|
||||
+#define HAVE_OOM_ADJ
|
||||
+
|
||||
+/*
|
||||
+ * IPC model. Choose one:
|
||||
+ *
|
||||
+ * HAVE_SYSV_IPC - use the classic SysV IPC mechanisms (semget, shmget).
|
||||
+ * HAVE_MACOSX_IPC - use Macintosh IPC mechanisms (sem_open, mmap).
|
||||
+ * HAVE_WIN32_IPC - use Win32 IPC (CreateSemaphore, CreateFileMapping).
|
||||
+ * HAVE_ANDROID_IPC - use Android versions (?, mmap).
|
||||
+ */
|
||||
+#define HAVE_ANDROID_IPC
|
||||
+
|
||||
+/*
|
||||
+ * Memory-mapping model. Choose one:
|
||||
+ *
|
||||
+ * HAVE_POSIX_FILEMAP - use the Posix sys/mmap.h
|
||||
+ * HAVE_WIN32_FILEMAP - use Win32 filemaps
|
||||
+ */
|
||||
+#define HAVE_POSIX_FILEMAP
|
||||
+
|
||||
+/*
|
||||
+ * Define this if you have <termio.h>
|
||||
+ */
|
||||
+#define HAVE_TERMIO_H 1
|
||||
+
|
||||
+/*
|
||||
+ * Define this if you have <sys/sendfile.h>
|
||||
+ */
|
||||
+#define HAVE_SYS_SENDFILE_H 1
|
||||
+
|
||||
+/*
|
||||
+ * Define this if you build against MSVCRT.DLL
|
||||
+ */
|
||||
+/* #define HAVE_MS_C_RUNTIME */
|
||||
+
|
||||
+/*
|
||||
+ * Define this if you have sys/uio.h
|
||||
+ */
|
||||
+#define HAVE_SYS_UIO_H 1
|
||||
+
|
||||
+/*
|
||||
+ * Define this if your platforms implements symbolic links
|
||||
+ * in its filesystems
|
||||
+ */
|
||||
+#define HAVE_SYMLINKS
|
||||
+
|
||||
+/*
|
||||
+ * Define this if we have localtime_r().
|
||||
+ */
|
||||
+/* #define HAVE_LOCALTIME_R 1 */
|
||||
+
|
||||
+/*
|
||||
+ * Define this if we have gethostbyname_r().
|
||||
+ */
|
||||
+/* #define HAVE_GETHOSTBYNAME_R */
|
||||
+
|
||||
+/*
|
||||
+ * Define this if we have ioctl().
|
||||
+ */
|
||||
+#define HAVE_IOCTL
|
||||
+
|
||||
+/*
|
||||
+ * Define this if we want to use WinSock.
|
||||
+ */
|
||||
+/* #define HAVE_WINSOCK */
|
||||
+
|
||||
+/*
|
||||
+ * Define this if have clock_gettime() and friends
|
||||
+ */
|
||||
+#define HAVE_POSIX_CLOCKS
|
||||
+
|
||||
+/*
|
||||
+ * Define this if we have linux style epoll()
|
||||
+ */
|
||||
+#define HAVE_EPOLL
|
||||
+
|
||||
+/*
|
||||
+ * Endianness of the target machine. Choose one:
|
||||
+ *
|
||||
+ * HAVE_ENDIAN_H -- have endian.h header we can include.
|
||||
+ * HAVE_LITTLE_ENDIAN -- we are little endian.
|
||||
+ * HAVE_BIG_ENDIAN -- we are big endian.
|
||||
+ */
|
||||
+#define HAVE_ENDIAN_H
|
||||
+#define HAVE_LITTLE_ENDIAN
|
||||
+
|
||||
+#define _FILE_OFFSET_BITS 64
|
||||
+/* #define _LARGEFILE_SOURCE 1 */
|
||||
+
|
||||
+/*
|
||||
+ * Define if platform has off64_t (and lseek64 and other xxx64 functions)
|
||||
+ */
|
||||
+#define HAVE_OFF64_T
|
||||
+
|
||||
+/*
|
||||
+ * Defined if we have the backtrace() call for retrieving a stack trace.
|
||||
+ * Needed for CallStack to operate; if not defined, CallStack is
|
||||
+ * non-functional.
|
||||
+ */
|
||||
+#define HAVE_BACKTRACE 0
|
||||
+
|
||||
+/*
|
||||
+ * Defined if we have the cxxabi.h header for demangling C++ symbols. If
|
||||
+ * not defined, stack crawls will be displayed with raw mangled symbols
|
||||
+ */
|
||||
+#define HAVE_CXXABI 0
|
||||
+
|
||||
+/*
|
||||
+ * Defined if we have the gettid() system call.
|
||||
+ */
|
||||
+#define HAVE_GETTID
|
||||
+
|
||||
+/*
|
||||
+ * Defined if we have the sched_setscheduler() call
|
||||
+ */
|
||||
+#define HAVE_SCHED_SETSCHEDULER
|
||||
+
|
||||
+/*
|
||||
+ * Add any extra platform-specific defines here.
|
||||
+ */
|
||||
+#ifndef __linux__
|
||||
+#define __linux__
|
||||
+#endif
|
||||
+
|
||||
+/*
|
||||
+ * Define if we have <malloc.h> header
|
||||
+ */
|
||||
+#define HAVE_MALLOC_H
|
||||
+
|
||||
+/*
|
||||
+ * Define if we're running on *our* linux on device or emulator.
|
||||
+ */
|
||||
+#define HAVE_ANDROID_OS 1
|
||||
+
|
||||
+/*
|
||||
+ * Define if we have Linux-style non-filesystem Unix Domain Sockets
|
||||
+ */
|
||||
+#define HAVE_LINUX_LOCAL_SOCKET_NAMESPACE 1
|
||||
+
|
||||
+/*
|
||||
+ * Define if we have Linux's inotify in <sys/inotify.h>.
|
||||
+ */
|
||||
+#define HAVE_INOTIFY 1
|
||||
+
|
||||
+/*
|
||||
+ * Define if we have madvise() in <sys/mman.h>
|
||||
+ */
|
||||
+#define HAVE_MADVISE 1
|
||||
+
|
||||
+/*
|
||||
+ * Define if tm struct has tm_gmtoff field
|
||||
+ */
|
||||
+#define HAVE_TM_GMTOFF 1
|
||||
+
|
||||
+/*
|
||||
+ * Define if dirent struct has d_type field
|
||||
+ */
|
||||
+#define HAVE_DIRENT_D_TYPE 1
|
||||
+
|
||||
+/*
|
||||
+ * Define if libc includes Android system properties implementation.
|
||||
+ */
|
||||
+#define HAVE_LIBC_SYSTEM_PROPERTIES 1
|
||||
+
|
||||
+/*
|
||||
+ * Define if system provides a system property server (should be
|
||||
+ * mutually exclusive with HAVE_LIBC_SYSTEM_PROPERTIES).
|
||||
+ */
|
||||
+/* #define HAVE_SYSTEM_PROPERTY_SERVER */
|
||||
+
|
||||
+/*
|
||||
+ * What CPU architecture does this platform use?
|
||||
+ */
|
||||
+#define ARCH_AARCH64
|
||||
+
|
||||
+/*
|
||||
+ * Define if the size of enums is as short as possible,
|
||||
+ */
|
||||
+/* #define HAVE_SHORT_ENUMS */
|
||||
+
|
||||
+/*
|
||||
+ * sprintf() format string for shared library naming.
|
||||
+ */
|
||||
+#define OS_SHARED_LIB_FORMAT_STR "lib%s.so"
|
||||
+
|
||||
+/*
|
||||
+ * type for the third argument to mincore().
|
||||
+ */
|
||||
+#define MINCORE_POINTER_TYPE unsigned char *
|
||||
+
|
||||
+/*
|
||||
+ * The default path separator for the platform
|
||||
+ */
|
||||
+#define OS_PATH_SEPARATOR '/'
|
||||
+
|
||||
+/*
|
||||
+ * Is the filesystem case sensitive?
|
||||
+ */
|
||||
+#define OS_CASE_SENSITIVE
|
||||
+
|
||||
+/*
|
||||
+ * Define if <sys/socket.h> exists.
|
||||
+ */
|
||||
+#define HAVE_SYS_SOCKET_H 1
|
||||
+
|
||||
+/*
|
||||
+ * Define if the strlcpy() function exists on the system.
|
||||
+ */
|
||||
+#define HAVE_STRLCPY 1
|
||||
+
|
||||
+/*
|
||||
+ * Define if the open_memstream() function exists on the system.
|
||||
+ */
|
||||
+/* #define HAVE_OPEN_MEMSTREAM 1 */
|
||||
+
|
||||
+/*
|
||||
+ * Define if the BSD funopen() function exists on the system.
|
||||
+ */
|
||||
+#define HAVE_FUNOPEN 1
|
||||
+
|
||||
+/*
|
||||
+ * Define if prctl() exists
|
||||
+ */
|
||||
+#define HAVE_PRCTL 1
|
||||
+
|
||||
+/*
|
||||
+ * Define if writev() exists
|
||||
+ */
|
||||
+#define HAVE_WRITEV 1
|
||||
+
|
||||
+/*
|
||||
+ * Define if <stdint.h> exists.
|
||||
+ */
|
||||
+#define HAVE_STDINT_H 1
|
||||
+
|
||||
+/*
|
||||
+ * Define if <stdbool.h> exists.
|
||||
+ */
|
||||
+#define HAVE_STDBOOL_H 1
|
||||
+
|
||||
+/*
|
||||
+ * Define if <sched.h> exists.
|
||||
+ */
|
||||
+#define HAVE_SCHED_H 1
|
||||
+
|
||||
+/*
|
||||
+ * Define if pread() exists
|
||||
+ */
|
||||
+#define HAVE_PREAD 1
|
||||
+
|
||||
+/*
|
||||
+ * Define if we have st_mtim in struct stat
|
||||
+ */
|
||||
+#define HAVE_STAT_ST_MTIM 1
|
||||
+
|
||||
+/*
|
||||
+ * Define if printf() supports %zd for size_t arguments
|
||||
+ */
|
||||
+#define HAVE_PRINTF_ZD 1
|
||||
+
|
||||
+/*
|
||||
+ * Define to 1 if <stdlib.h> provides qsort_r() with a BSD style function prototype.
|
||||
+ */
|
||||
+#define HAVE_BSD_QSORT_R 0
|
||||
+
|
||||
+/*
|
||||
+ * Define to 1 if <stdlib.h> provides qsort_r() with a GNU style function prototype.
|
||||
+ */
|
||||
+#define HAVE_GNU_QSORT_R 0
|
||||
+
|
||||
+#endif /* _ANDROID_CONFIG_H */
|
||||
--
|
||||
2.17.1
|
||||
|
||||
|
|
@ -0,0 +1,189 @@
|
|||
From 48ddf4fb999931942c359350fb31cd557514e1c6 Mon Sep 17 00:00:00 2001
|
||||
From: Chenxi Mao <maochenxi@eswin.com>
|
||||
Date: Mon, 20 Apr 2020 15:27:22 +0800
|
||||
Subject: [PATCH 1/1] adb: Support riscv64
|
||||
|
||||
---
|
||||
include/cutils/atomic-inline.h | 2 +
|
||||
include/cutils/atomic-riscv64.h | 156 ++++++++++++++++++++++++++++++++
|
||||
2 files changed, 158 insertions(+)
|
||||
create mode 100644 include/cutils/atomic-riscv64.h
|
||||
|
||||
diff --git a/include/cutils/atomic-inline.h b/include/cutils/atomic-inline.h
|
||||
index a31e913579..b5dc38209c 100644
|
||||
--- a/include/cutils/atomic-inline.h
|
||||
+++ b/include/cutils/atomic-inline.h
|
||||
@@ -55,6 +55,8 @@ extern "C" {
|
||||
#include <cutils/atomic-mips64.h>
|
||||
#elif defined(__mips__)
|
||||
#include <cutils/atomic-mips.h>
|
||||
+#elif defined(__riscv) && __riscv_xlen == 64
|
||||
+#include <cutils/atomic-riscv64.h>
|
||||
#else
|
||||
#error atomic operations are unsupported
|
||||
#endif
|
||||
diff --git a/include/cutils/atomic-riscv64.h b/include/cutils/atomic-riscv64.h
|
||||
new file mode 100644
|
||||
index 0000000000..2664db5a86
|
||||
--- /dev/null
|
||||
+++ b/include/cutils/atomic-riscv64.h
|
||||
@@ -0,0 +1,156 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2014 The Android Open Source Project
|
||||
+ * All rights reserved.
|
||||
+ *
|
||||
+ * Redistribution and use in source and binary forms, with or without
|
||||
+ * modification, are permitted provided that the following conditions
|
||||
+ * are met:
|
||||
+ * * Redistributions of source code must retain the above copyright
|
||||
+ * notice, this list of conditions and the following disclaimer.
|
||||
+ * * 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.
|
||||
+ *
|
||||
+ * 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 OWNER 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 ANDROID_CUTILS_ATOMIC_RISCV64_H
|
||||
+#define ANDROID_CUTILS_ATOMIC_RISCV64_H
|
||||
+
|
||||
+#include <stdint.h>
|
||||
+
|
||||
+#ifndef ANDROID_ATOMIC_INLINE
|
||||
+#define ANDROID_ATOMIC_INLINE inline __attribute__((always_inline))
|
||||
+#endif
|
||||
+
|
||||
+/*
|
||||
+ TODOAArch64: Revisit the below functions and check for potential
|
||||
+ optimizations using assembly code or otherwise.
|
||||
+*/
|
||||
+
|
||||
+extern ANDROID_ATOMIC_INLINE
|
||||
+void android_compiler_barrier(void)
|
||||
+{
|
||||
+ __asm__ __volatile__ ("" : : : "memory");
|
||||
+}
|
||||
+
|
||||
+extern ANDROID_ATOMIC_INLINE
|
||||
+void android_memory_barrier(void)
|
||||
+{
|
||||
+ __asm__ __volatile__ ("fence rw,rw" : : : "memory");
|
||||
+}
|
||||
+
|
||||
+extern ANDROID_ATOMIC_INLINE
|
||||
+int32_t android_atomic_acquire_load(volatile const int32_t *ptr)
|
||||
+{
|
||||
+ int32_t value = *ptr;
|
||||
+ android_memory_barrier();
|
||||
+ return value;
|
||||
+}
|
||||
+
|
||||
+extern ANDROID_ATOMIC_INLINE
|
||||
+int32_t android_atomic_release_load(volatile const int32_t *ptr)
|
||||
+{
|
||||
+ android_memory_barrier();
|
||||
+ return *ptr;
|
||||
+}
|
||||
+
|
||||
+extern ANDROID_ATOMIC_INLINE
|
||||
+void android_atomic_acquire_store(int32_t value, volatile int32_t *ptr)
|
||||
+{
|
||||
+ *ptr = value;
|
||||
+ android_memory_barrier();
|
||||
+}
|
||||
+
|
||||
+extern ANDROID_ATOMIC_INLINE
|
||||
+void android_atomic_release_store(int32_t value, volatile int32_t *ptr)
|
||||
+{
|
||||
+ android_memory_barrier();
|
||||
+ *ptr = value;
|
||||
+}
|
||||
+
|
||||
+extern ANDROID_ATOMIC_INLINE
|
||||
+int android_atomic_cas(int32_t old_value, int32_t new_value,
|
||||
+ volatile int32_t *ptr)
|
||||
+{
|
||||
+ return __sync_val_compare_and_swap(ptr, old_value, new_value) != old_value;
|
||||
+}
|
||||
+
|
||||
+extern ANDROID_ATOMIC_INLINE
|
||||
+int android_atomic_acquire_cas(int32_t old_value, int32_t new_value,
|
||||
+ volatile int32_t *ptr)
|
||||
+{
|
||||
+ int status = android_atomic_cas(old_value, new_value, ptr);
|
||||
+ android_memory_barrier();
|
||||
+ return status;
|
||||
+}
|
||||
+
|
||||
+extern ANDROID_ATOMIC_INLINE
|
||||
+int android_atomic_release_cas(int32_t old_value, int32_t new_value,
|
||||
+ volatile int32_t *ptr)
|
||||
+{
|
||||
+ android_memory_barrier();
|
||||
+ return android_atomic_cas(old_value, new_value, ptr);
|
||||
+}
|
||||
+
|
||||
+extern ANDROID_ATOMIC_INLINE
|
||||
+int32_t android_atomic_add(int32_t increment, volatile int32_t *ptr)
|
||||
+{
|
||||
+ int32_t prev, status;
|
||||
+ android_memory_barrier();
|
||||
+ do {
|
||||
+ prev = *ptr;
|
||||
+ status = android_atomic_cas(prev, prev + increment, ptr);
|
||||
+ } while (__builtin_expect(status != 0, 0));
|
||||
+ return prev;
|
||||
+}
|
||||
+
|
||||
+extern ANDROID_ATOMIC_INLINE
|
||||
+int32_t android_atomic_inc(volatile int32_t *addr)
|
||||
+{
|
||||
+ return android_atomic_add(1, addr);
|
||||
+}
|
||||
+
|
||||
+extern ANDROID_ATOMIC_INLINE
|
||||
+int32_t android_atomic_dec(volatile int32_t *addr)
|
||||
+{
|
||||
+ return android_atomic_add(-1, addr);
|
||||
+}
|
||||
+
|
||||
+extern ANDROID_ATOMIC_INLINE
|
||||
+int32_t android_atomic_and(int32_t value, volatile int32_t *ptr)
|
||||
+{
|
||||
+ int32_t prev, status;
|
||||
+ android_memory_barrier();
|
||||
+ do {
|
||||
+ prev = *ptr;
|
||||
+ status = android_atomic_cas(prev, prev & value, ptr);
|
||||
+ } while (__builtin_expect(status != 0, 0));
|
||||
+ return prev;
|
||||
+}
|
||||
+
|
||||
+extern ANDROID_ATOMIC_INLINE
|
||||
+int32_t android_atomic_or(int32_t value, volatile int32_t *ptr)
|
||||
+{
|
||||
+ int32_t prev, status;
|
||||
+ android_memory_barrier();
|
||||
+ do {
|
||||
+ prev = *ptr;
|
||||
+ status = android_atomic_cas(prev, prev | value, ptr);
|
||||
+ } while (__builtin_expect(status != 0, 0));
|
||||
+ return prev;
|
||||
+}
|
||||
+
|
||||
+#endif /* ANDROID_CUTILS_ATOMIC_RISCV_H */
|
||||
--
|
||||
2.17.1
|
||||
|
||||
|
|
@ -38,11 +38,13 @@ SRC_URI = " \
|
|||
file://core/0011-Remove-bionic-specific-calls.patch;patchdir=system/core \
|
||||
file://core/0012-Fix-implicit-declaration-of-stlcat-strlcopy-function.patch;patchdir=system/core \
|
||||
file://core/adb_libssl_11.diff;patchdir=system/core \
|
||||
file://core/0013-adb-Support-riscv64.patch;patchdir=system/core \
|
||||
file://extras/0001-ext4_utils-remove-selinux-extensions.patch;patchdir=system/extras \
|
||||
file://extras/0002-ext4_utils-add-o-argument-to-preserve-ownership.patch;patchdir=system/extras \
|
||||
file://libselinux/0001-Remove-bionic-specific-calls.patch;patchdir=external/libselinux \
|
||||
file://libselinux/0001-libselinux-Do-not-define-gettid-if-glibc-2.30-is-use.patch;patchdir=external/libselinux \
|
||||
file://android-tools-adbd.service \
|
||||
file://build/0001-Riscv-Add-risc-v-Android-config-header.patch;patchdir=build \
|
||||
file://gitignore \
|
||||
file://adb.mk;subdir=${BPN} \
|
||||
file://adbd.mk;subdir=${BPN} \
|
||||
|
|
@ -94,6 +96,9 @@ do_compile() {
|
|||
aarch64)
|
||||
export android_arch=linux-arm64
|
||||
;;
|
||||
riscv64)
|
||||
export android_arch=linux-riscv64
|
||||
;;
|
||||
mips|mipsel)
|
||||
export android_arch=linux-mips
|
||||
;;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user