Remove some legacy cruft

Function trace logs will report stack usage accurately. It won't include
the argv/environ block. Our clone() polyfill is now simpler and does not
use as much stack memory. Function call tracing on x86 is now faster too
This commit is contained in:
Justine Tunney 2025-01-02 18:44:07 -08:00
parent 8db646f6b2
commit a15958edc6
No known key found for this signature in database
GPG key ID: BE714B4575D6E328
21 changed files with 291 additions and 467 deletions

View file

@ -151,7 +151,7 @@ void _pthread_decimate(enum PosixThreadStatus threshold) {
}
}
dontinstrument static int PosixThread(void *arg, int tid) {
static int PosixThread(void *arg) {
struct PosixThread *pt = arg;
// setup scheduling
@ -162,11 +162,11 @@ dontinstrument static int PosixThread(void *arg, int tid) {
// setup signal stack
if (pt->pt_attr.__sigaltstacksize) {
struct sigaltstack ss;
ss.ss_sp = pt->pt_attr.__sigaltstackaddr;
ss.ss_size = pt->pt_attr.__sigaltstacksize;
ss.ss_flags = 0;
unassert(!sigaltstack(&ss, 0));
struct sigaltstack *ss = alloca(sizeof(struct sigaltstack));
ss->ss_sp = pt->pt_attr.__sigaltstackaddr;
ss->ss_size = pt->pt_attr.__sigaltstacksize;
ss->ss_flags = 0;
unassert(!sigaltstack(ss, 0));
}
// set long jump handler so pthread_exit can bring control back here