Merge "Factor out the keep_symbols magic." into main
diff --git a/libc/Android.bp b/libc/Android.bp
index bc933e0..a70865c 100644
--- a/libc/Android.bp
+++ b/libc/Android.bp
@@ -87,10 +87,6 @@
recovery_available: true,
native_bridge_supported: true,
- // lld complains about duplicate symbols in libcrt and libgcc. Suppress the
- // warning since this is intended right now.
- ldflags: ["-Wl,-z,muldefs"],
-
product_variables: {
malloc_zero_contents: {
cflags: ["-DSCUDO_ZERO_CONTENTS"],
diff --git a/libc/SECCOMP_ALLOWLIST_APP.TXT b/libc/SECCOMP_ALLOWLIST_APP.TXT
index 7e1ecde..80b15b2 100644
--- a/libc/SECCOMP_ALLOWLIST_APP.TXT
+++ b/libc/SECCOMP_ALLOWLIST_APP.TXT
@@ -4,36 +4,36 @@
# This file is processed by a python script named genseccomp.py.
# Needed for debugging 32-bit Chrome
-int pipe:pipe(int pipefd[2]) lp32
+int pipe(int pipefd[2]) lp32
# b/34651972
-int access:access(const char *pathname, int mode) lp32
-int stat64:stat64(const char*, struct stat64*) lp32
+int access(const char *pathname, int mode) lp32
+int stat64(const char*, struct stat64*) lp32
# b/34813887
-int open:open(const char *path, int oflag, ... ) lp32,x86_64
-int getdents:getdents(unsigned int fd, struct linux_dirent *dirp, unsigned int count) lp32,x86_64
+int open(const char *path, int oflag, ... ) lp32,x86_64
+int getdents(unsigned int fd, struct linux_dirent *dirp, unsigned int count) lp32,x86_64
# b/34719286
-int eventfd:eventfd(unsigned int initval, int flags) lp32
+int eventfd(unsigned int initval, int flags) lp32
# b/34817266
-int epoll_wait:epoll_wait(int epfd, struct epoll_event *events, int maxevents, int timeout) lp32
+int epoll_wait(int epfd, struct epoll_event *events, int maxevents, int timeout) lp32
# b/34908783
-int epoll_create:epoll_create(int size) lp32
+int epoll_create(int size) lp32
# b/34979910
-int creat:creat(const char *pathname, mode_t mode) lp32
-int unlink:unlink(const char *pathname) lp32
+int creat(const char *pathname, mode_t mode) lp32
+int unlink(const char *pathname) lp32
# b/35059702
-int lstat64:lstat64(const char*, struct stat64*) lp32
+int lstat64(const char*, struct stat64*) lp32
# b/35217603
-int fcntl:fcntl(int fd, int cmd, ... /* arg */ ) lp32
-pid_t fork:fork() lp32
-int poll:poll(struct pollfd *fds, nfds_t nfds, int timeout) lp32
+int fcntl(int fd, int cmd, ... /* arg */ ) lp32
+pid_t fork() lp32
+int poll(struct pollfd *fds, nfds_t nfds, int timeout) lp32
# b/35906875
int inotify_init() lp32
diff --git a/libc/SECCOMP_BLOCKLIST_APP.TXT b/libc/SECCOMP_BLOCKLIST_APP.TXT
index 049d577..b9ecc02 100644
--- a/libc/SECCOMP_BLOCKLIST_APP.TXT
+++ b/libc/SECCOMP_BLOCKLIST_APP.TXT
@@ -6,40 +6,39 @@
#
# This file is processed by a python script named genseccomp.py.
-# Note: Some privileged syscalls are still needed in app process after fork before uid change,
-# including capset and setresuid. This is because the seccomp filter must be installed while
-# the process still has CAP_SYS_ADMIN; changing the uid would remove that capability.
-
-# syscalls to modify IDs
-int setgid:setgid32(gid_t) lp32
-int setgid:setgid(gid_t) lp64
-int setuid:setuid32(uid_t) lp32
-int setuid:setuid(uid_t) lp64
-int setregid:setregid32(gid_t, gid_t) lp32
-int setregid:setregid(gid_t, gid_t) lp64
-int setreuid:setreuid32(uid_t, uid_t) lp32
-int setreuid:setreuid(uid_t, uid_t) lp64
-int setresgid:setresgid32(gid_t, gid_t, gid_t) lp32
-int setresgid:setresgid(gid_t, gid_t, gid_t) lp64
+# Syscalls to modify IDs.
+# Note: Some privileged syscalls are still needed in app_process after fork but
+# before uid change, including capset and setresuid. This is because the seccomp
+# filter must be installed while the process still has CAP_SYS_ADMIN; changing
+# the uid would remove that capability.
+int setgid32(gid_t) lp32
+int setgid(gid_t) lp64
+int setuid32(uid_t) lp32
+int setuid(uid_t) lp64
+int setregid32(gid_t, gid_t) lp32
+int setregid(gid_t, gid_t) lp64
+int setreuid32(uid_t, uid_t) lp32
+int setreuid(uid_t, uid_t) lp64
+int setresgid32(gid_t, gid_t, gid_t) lp32
+int setresgid(gid_t, gid_t, gid_t) lp64
# setresuid is explicitly allowed, see above.
-int setfsgid:setfsgid32(gid_t) lp32
-int setfsgid:setfsgid(gid_t) lp64
-int setfsuid:setfsuid32(uid_t) lp32
-int setfsuid:setfsuid(uid_t) lp64
-int setgroups:setgroups32(int, const gid_t*) lp32
-int setgroups:setgroups(int, const gid_t*) lp64
+int setfsgid32(gid_t) lp32
+int setfsgid(gid_t) lp64
+int setfsuid32(uid_t) lp32
+int setfsuid(uid_t) lp64
+int setgroups32(int, const gid_t*) lp32
+int setgroups(int, const gid_t*) lp64
-# syscalls to modify times
+# Syscalls to modify times.
int adjtimex(struct timex*) all
int clock_adjtime(clockid_t, struct timex*) all
int clock_settime(clockid_t, const struct timespec*) all
int settimeofday(const struct timeval*, const struct timezone*) all
int acct(const char* filepath) all
-int klogctl:syslog(int, char*, int) all
+int syslog(int, char*, int) all
int chroot(const char*) all
-# syscalls to change machine various configurations
int init_module(void*, unsigned long, const char*) all
int delete_module(const char*, unsigned int) all
int mount(const char*, const char*, const char*, unsigned long, const void*) all
@@ -48,4 +47,4 @@
int swapoff(const char*) all
int setdomainname(const char*, size_t) all
int sethostname(const char*, size_t) all
-int __reboot:reboot(int, int, int, void*) all
+int reboot(int, int, int, void*) all
diff --git a/tools/versioner/src/DeclarationDatabase.cpp b/tools/versioner/src/DeclarationDatabase.cpp
index a029c3b..9794286 100644
--- a/tools/versioner/src/DeclarationDatabase.cpp
+++ b/tools/versioner/src/DeclarationDatabase.cpp
@@ -103,7 +103,7 @@
}
std::string declaration_name = getDeclName(named_decl);
- bool is_extern = named_decl->getFormalLinkage() == ExternalLinkage;
+ bool is_extern = named_decl->getFormalLinkage() == Linkage::External;
bool is_definition = false;
bool no_guard = false;
bool fortify_inline = false;
diff --git a/tools/versioner/src/Driver.cpp b/tools/versioner/src/Driver.cpp
index 24dc5ec..79672ac 100644
--- a/tools/versioner/src/Driver.cpp
+++ b/tools/versioner/src/Driver.cpp
@@ -42,7 +42,7 @@
#include <llvm/ADT/SmallVector.h>
#include <llvm/ADT/StringRef.h>
#include <llvm/Option/Option.h>
-#include <llvm/Support/Host.h>
+#include <llvm/TargetParser/Host.h>
#include <llvm/Support/VirtualFileSystem.h>
#include "Arch.h"
diff --git a/tools/versioner/src/Preprocessor.cpp b/tools/versioner/src/Preprocessor.cpp
index 47b9017..74d5ba0 100644
--- a/tools/versioner/src/Preprocessor.cpp
+++ b/tools/versioner/src/Preprocessor.cpp
@@ -448,7 +448,7 @@
while (FTSENT* ent = fts_read(fts.get())) {
llvm::StringRef path = ent->fts_path;
- if (!path.startswith(src_dir)) {
+ if (!path.starts_with(src_dir)) {
err(1, "path '%s' doesn't start with source dir '%s'", ent->fts_path, src_dir.c_str());
}
@@ -489,7 +489,7 @@
// TODO: Merge adjacent non-identical guards.
mergeGuards(file_lines[file_path.str()], guard_map);
- if (!file_path.startswith(src_dir)) {
+ if (!file_path.starts_with(src_dir)) {
errx(1, "input file %s is not in %s\n", file_path.str().c_str(), src_dir.c_str());
}
diff --git a/tools/versioner/src/Utils.cpp b/tools/versioner/src/Utils.cpp
index dc6b5dd..d2bb1a8 100644
--- a/tools/versioner/src/Utils.cpp
+++ b/tools/versioner/src/Utils.cpp
@@ -83,7 +83,7 @@
}
llvm::StringRef StripPrefix(llvm::StringRef string, llvm::StringRef prefix) {
- if (string.startswith(prefix)) {
+ if (string.starts_with(prefix)) {
return string.drop_front(prefix.size());
}
return string;
diff --git a/tools/versioner/src/versioner.cpp b/tools/versioner/src/versioner.cpp
index 320c19c..37c8bac 100644
--- a/tools/versioner/src/versioner.cpp
+++ b/tools/versioner/src/versioner.cpp
@@ -146,7 +146,7 @@
continue;
}
- if (header.endswith("/" + it.first)) {
+ if (header.ends_with("/" + it.first)) {
return true;
}
}