Remove musl-tld-caching patch since it's now provided by the repository.
This commit is contained in:
parent
0fe0a64eff
commit
3543eb1f3e
@ -1,83 +0,0 @@
|
|||||||
diff --git a/sandbox/linux/services/namespace_sandbox.cc b/sandbox/linux/services/namespace_sandbox.cc
|
|
||||||
index d46ea08..fbedde1 100644
|
|
||||||
--- a/sandbox/linux/services/namespace_sandbox.cc
|
|
||||||
+++ b/sandbox/linux/services/namespace_sandbox.cc
|
|
||||||
@@ -209,6 +209,70 @@ base::Process NamespaceSandbox::LaunchProcessWithOptions(
|
|
||||||
return base::LaunchProcess(argv, launch_options_copy);
|
|
||||||
}
|
|
||||||
|
|
||||||
+#if defined(__aarch64__)
|
|
||||||
+#define TLS_ABOVE_TP
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+struct musl_pthread
|
|
||||||
+{
|
|
||||||
+ /* Part 1 -- these fields may be external or
|
|
||||||
+ * internal (accessed via asm) ABI. Do not change. */
|
|
||||||
+ struct pthread *self;
|
|
||||||
+#ifndef TLS_ABOVE_TP
|
|
||||||
+ uintptr_t *dtv;
|
|
||||||
+#endif
|
|
||||||
+ struct pthread *prev, *next; /* non-ABI */
|
|
||||||
+ uintptr_t sysinfo;
|
|
||||||
+#ifndef TLS_ABOVE_TP
|
|
||||||
+#ifdef CANARY_PAD
|
|
||||||
+ uintptr_t canary_pad;
|
|
||||||
+#endif
|
|
||||||
+ uintptr_t canary;
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+/* Part 2 -- implementation details, non-ABI. */
|
|
||||||
+ int tid;
|
|
||||||
+ int errno_val;
|
|
||||||
+ volatile int detach_state;
|
|
||||||
+ volatile int cancel;
|
|
||||||
+ volatile unsigned char canceldisable, cancelasync;
|
|
||||||
+ unsigned char tsd_used:1;
|
|
||||||
+ unsigned char dlerror_flag:1;
|
|
||||||
+ unsigned char *map_base;
|
|
||||||
+ size_t map_size;
|
|
||||||
+ void *stack;
|
|
||||||
+ size_t stack_size;
|
|
||||||
+ size_t guard_size;
|
|
||||||
+ void *result;
|
|
||||||
+ struct __ptcb *cancelbuf;
|
|
||||||
+ void **tsd;
|
|
||||||
+ struct {
|
|
||||||
+ volatile void *volatile head;
|
|
||||||
+ long off;
|
|
||||||
+ volatile void *volatile pending;
|
|
||||||
+ } robust_list;
|
|
||||||
+ int h_errno_val;
|
|
||||||
+ volatile int timer_id;
|
|
||||||
+ locale_t locale;
|
|
||||||
+ volatile int killlock[1];
|
|
||||||
+ char *dlerror_buf;
|
|
||||||
+ void *stdio_locks;
|
|
||||||
+
|
|
||||||
+ /* Part 3 -- the positions of these fields relative to
|
|
||||||
+ * the end of the structure is external and internal ABI. */
|
|
||||||
+#ifdef TLS_ABOVE_TP
|
|
||||||
+ uintptr_t canary;
|
|
||||||
+ uintptr_t *dtv;
|
|
||||||
+#endif
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+void MaybeUpdateMuslTidCache()
|
|
||||||
+{
|
|
||||||
+ pid_t real_tid = sys_gettid();
|
|
||||||
+ pid_t* cached_tid_location = &reinterpret_cast<struct musl_pthread*>(pthread_self())->tid;
|
|
||||||
+ *cached_tid_location = real_tid;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
// static
|
|
||||||
pid_t NamespaceSandbox::ForkInNewPidNamespace(bool drop_capabilities_in_child) {
|
|
||||||
const pid_t pid =
|
|
||||||
@@ -226,6 +290,7 @@ pid_t NamespaceSandbox::ForkInNewPidNamespace(bool drop_capabilities_in_child) {
|
|
||||||
#if defined(LIBC_GLIBC)
|
|
||||||
MaybeUpdateGlibcTidCache();
|
|
||||||
#endif
|
|
||||||
+ MaybeUpdateMuslTidCache();
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user