ladybird/Userland/Libraries/LibC
Tim Schumacher b9f7966e00 LibC: Move stack canary initialization before the global constructors
Once again, QEMU creates threads while running its constructors, which
is a recipe for disaster if we switch out the stack guard while that is
already running in the background.

To solve that, move initialization to our LibC initialization stage,
which is before any actual external initialization code runs.
2022-07-08 22:27:38 +00:00
..
arch LibC: Implement a faster memset routine for x86-64 in assembly 2022-05-01 12:42:01 +02:00
arpa Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
bits LibC: Implement __fseterr 2022-04-03 19:15:14 +02:00
net LibC+LibDl: Declare functions taking no arguments as taking void 2022-01-08 19:22:00 +01:00
netinet LibC: Add IN6_IS_ADDR_MULTICAST 2022-05-05 20:47:38 +02:00
sys LibC: Add POSIX spec links to wait, waitpid and waitid 2022-06-17 10:59:26 +02:00
alloca.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
assert.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
assert.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
byteswap.h Everywhere: Use "the SerenityOS developers." in copyright headers 2021-04-29 00:59:26 +02:00
CMakeLists.txt LibC: Add stubs for glob and globfree 2022-07-08 22:27:38 +00:00
complex.cpp LibC: Add barebones <complex.h> 2022-05-23 00:13:26 +02:00
complex.h LibC: Add barebones <complex.h> 2022-05-23 00:13:26 +02:00
crt0.cpp LibC: Move stack canary initialization before the global constructors 2022-07-08 22:27:38 +00:00
crt0_shared.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ctype.cpp LibC: Align _ctype_ to newlib's implementation 2022-06-30 12:34:16 +01:00
ctype.h LibC: Align _ctype_ to newlib's implementation 2022-06-30 12:34:16 +01:00
cxxabi.cpp LibC: Avoid unnecessary mprotect during program finalization 2021-11-11 09:20:35 +01:00
dirent.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
dirent.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
dlfcn.cpp LibC+LibELF: Implement dladdr() 2021-06-06 22:16:11 +02:00
elf.h LibELF: Add support for IFUNCs 2022-05-01 12:42:01 +02:00
endian.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
errno.h LibC: Implement errno via a __errno_location() function 2022-04-21 11:49:48 +02:00
errno_codes.h LibC: Add missing macro definitions for errno codes 2022-05-08 13:04:32 -07:00
fcntl.cpp Kernel+LibC+VFS: Implement utimensat(3) 2022-05-21 18:15:00 +02:00
fcntl.h Kernel+LibC+VFS: Implement utimensat(3) 2022-05-21 18:15:00 +02:00
fd_set.h LibC: Remove semicolon in definition of FD_ZERO 2022-03-06 13:00:42 +01:00
fenv.cpp LibC: Actually set the FPU environment instead of its pointer 2022-04-29 22:01:06 +02:00
fenv.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
float.h LibC+LibDl: Declare functions taking no arguments as taking void 2022-01-08 19:22:00 +01:00
fnmatch.cpp Everywhere: Fix more Copyright header inconsistencies 2021-10-04 11:10:09 +01:00
fnmatch.h Everywhere: Fix more Copyright header inconsistencies 2021-10-04 11:10:09 +01:00
getopt.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
getopt.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
getsubopt.cpp LibC: Implement the getsubopt function 2022-06-25 12:10:04 +01:00
glob.cpp LibC: Add stubs for glob and globfree 2022-07-08 22:27:38 +00:00
glob.h LibC: Add stubs for glob and globfree 2022-07-08 22:27:38 +00:00
grp.cpp LibC: Don't clear static storage during endgrent 2022-07-06 10:33:10 +02:00
grp.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
iconv.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
ifaddrs.cpp Kernel+LibC: Stub out getifaddrs() and freeifaddrs() 2021-12-22 00:02:36 -08:00
ifaddrs.h Kernel+LibC: Stub out getifaddrs() and freeifaddrs() 2021-12-22 00:02:36 -08:00
inttypes.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
inttypes.h LibC: Add printf and scanf format macros for "fast" and "least" types 2022-06-17 21:53:28 +01:00
ioctl.cpp LibC: Don't truncate arguments for ioctl() on x86_64 2021-07-22 04:18:39 +04:30
langinfo.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
langinfo.h Everywhere: Fix more Copyright header inconsistencies 2021-10-04 11:10:09 +01:00
libcinit.cpp LibC: Implement errno via a __errno_location() function 2022-04-21 11:49:48 +02:00
libgen.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
libgen.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
limits.h LibC: Unconditionally include bits/posix1_lim.h from limits.h 2022-04-23 10:43:32 -07:00
link.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
link.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
locale.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
locale.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
malloc.cpp LibC: Implement posix_memalign(3) and aligned_alloc(3) 2022-05-20 22:18:54 +02:00
mallocdefs.h LibC: Increase alignment for malloc() BigAllocationBlocks to 16 bytes 2022-03-02 11:40:37 +01:00
memory.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
mntent.cpp LibC: Remove TODO() macros to not break mc port 2022-01-13 18:46:22 +01:00
mntent.h LibC: Add mntent stub functions 2022-01-07 18:38:32 +01:00
net.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
netdb.cpp AK: Use an enum instead of a bool for String::replace(all_occurences) 2022-07-06 11:12:45 +02:00
netdb.h LibC: Add herror() and hstrerror() 2022-05-12 15:01:32 +02:00
nl_types.h Everywhere: Fix more Copyright header inconsistencies 2021-10-04 11:10:09 +01:00
paths.h Everywhere: Use "the SerenityOS developers." in copyright headers 2021-04-29 00:59:26 +02:00
poll.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
poll.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
priority.cpp LibC: Add getpriority() and setpriority() stubs 2021-09-23 18:51:21 +02:00
pthread_forward.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
pthread_integration.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
pthread_tls.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
pty.cpp LibC: Remove debug spam from openpty() 2021-10-26 08:47:06 +02:00
pty.h LibC: Remove 'int* aslave' parameter from forkpty() 2021-05-06 13:52:46 +01:00
pwd.cpp LibC: Stop leaking FILE in getpwuid and getpwnam 2022-07-06 10:34:20 +02:00
pwd.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
qsort.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
regex.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
regex.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
resolv.cpp Everywhere: Fix more Copyright header inconsistencies 2021-10-04 11:10:09 +01:00
resolv.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
scanf.cpp LibC: Make scanf read an unsigned long when using %lu 2022-06-21 22:38:15 +01:00
sched.cpp LibC: Add POSIX spec comments for sched APIs 2021-12-21 18:16:48 -08:00
sched.h LibC+LibDl: Declare functions taking no arguments as taking void 2022-01-08 19:22:00 +01:00
search.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
search.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
serenity.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
serenity.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
setjmp.h LibC: Implement _setjmp and _longjmp 2021-12-24 05:26:21 -08:00
shadow.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
shadow.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
signal.cpp Kernel: Implement sigsuspend using a SignalBlocker 2022-07-08 22:27:38 +00:00
signal.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
signal_numbers.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
spawn.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
spawn.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
ssp.cpp Everywhere: Make some symbols __attribute__((used)) for LTO 2021-10-17 17:09:58 +01:00
stat.cpp Kernel+LibC: Implement futimens(3) 2022-05-21 18:15:00 +02:00
stdarg.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
stddef.h LibC: Define offsetof in stddef.h instead of sys/cdefs.h 2022-02-28 20:28:01 -08:00
stdint.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
stdio.cpp LibC: Add ctermid 2022-06-18 15:10:13 +02:00
stdio.h LibC: Add ctermid 2022-06-18 15:10:13 +02:00
stdio_ext.h LibC: Implement __fseterr 2022-04-03 19:15:14 +02:00
stdlib.cpp LibC: Allow parsing numbers right on the cutoff 2022-06-17 11:24:27 +01:00
stdlib.h LibC: Implement posix_memalign(3) and aligned_alloc(3) 2022-05-20 22:18:54 +02:00
string.cpp LibC: Implement a faster memset routine for x86-64 in assembly 2022-05-01 12:42:01 +02:00
string.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
strings.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
strings.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
stubs.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
sysexits.h LibC: Use EX_IOERR instead of EX_IOER 2021-06-10 20:21:08 +01:00
syslog.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
syslog.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
termcap.cpp AK: Use an enum instead of a bool for String::replace(all_occurences) 2022-07-06 11:12:45 +02:00
termcap.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
termios.cpp LibC: Stub out tcsendbreak(..) and tcdrain(..) 2021-12-29 03:17:41 -08:00
termios.h LibC: Stub out tcsendbreak(..) and tcdrain(..) 2021-12-29 03:17:41 -08:00
time.cpp LibC: Make asctime_r() in time.h POSIX compliant 2022-06-04 12:23:25 +01:00
time.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
times.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ucontext.h LibC: Add public and independent ucontext.h header 2022-06-12 00:28:26 +01:00
ulimit.cpp LibC: Add a wrapper for the getrusage syscall 2022-02-28 20:09:37 +01:00
ulimit.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
unistd.cpp LibC: Stub out brk and sbrk 2022-06-30 11:57:49 +02:00
unistd.h LibC: Stub out brk and sbrk 2022-06-30 11:57:49 +02:00
utime.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
utime.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
utmp.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
utsname.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
wchar.cpp LibC: Implement wcswidth 2022-06-30 11:57:49 +02:00
wchar.h LibC: Implement wcswidth 2022-06-30 11:57:49 +02:00
wctype.cpp Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
wctype.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
wstdio.cpp LibC: Automatically append null terminator in vswprintf 2022-03-20 08:40:36 -04:00