(no title)
windenntw | 4 years ago
so the traced calls would more or less be:
https://sources.debian.org/src/glibc/2.33-3/sysdeps/m68k/tls...
https://sources.debian.org/src/glibc/2.33-3/sysdeps/unix/sys...
Maybe it is all related to errno needing to read the base TLS pointer? https://sources.debian.org/src/linux/5.15.15-1/arch/m68k/ker...
Sounds like we'd benefit from placing the result of calling sys_get_thread_area(void) in the VDSO area and updating it from http://lxr.linux.no/linux+v5.14/arch/m68k/include/asm/entry.... every time we do a process switch
jagrsw|4 years ago
Probably everything that uses __thread requires this. e.g. malloc(), or some functions that return pointers to static buffers, and implementators wanted to make them multi-thread safe.
jagrsw|4 years ago
This is because arguments from the stack can be taken as ints (typically in batches of 4 octects), and put there as char (1 octet typically, but alignment might force it to be aligned to 4 bytes, I guess it depends). Interesting.