ladybird/Userland/Libraries/LibC/bits
Dan Klishch 932a722623 LibC+LibELF: Do not override existing weak symbols during magic lookup
Previously, the actual behavior of magic lookup and one described in its
commit description have not matched. Instead of being weak definitions
in a library that is always in the end of load order, the definitions
were normal ones and thus were able to override other weak definitions
in LibC. While this was consistent with how DynamicLoader resolves
ambiguity between normal and weak relocations, this is not the behavior
POSIX mandates -- we should always choose first available definition wrt
load order. To fix this problem, the patch makes sure we don't define
any of magic symbols in LibC.

In addition to this, it makes all provided magic symbols functions
(instead of objects), what renders MagicWeakSymbol class unnecessary.
2024-04-21 13:34:04 -06:00
..
dlfcn_integration.h LibC+LibELF: Do not override existing weak symbols during magic lookup 2024-04-21 13:34:04 -06:00
FILE.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
getopt.h LibC: Make getopt available from getopt.h 2023-07-19 00:19:35 -06:00
mutex_locker.h LibC: Implement fflush(nullptr) 2022-01-16 14:59:21 -08:00
posix1_lim.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
pthread_cancel.h LibC: Implement pthread_cancel 2022-07-22 10:07:15 -07:00
pthread_integration.h LibC: Remove a bunch of weak pthread_* symbols 2022-07-19 20:58:51 -07:00
search.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
sighow.h LibC: Move SIG_* definitions for sigprocmask into bits/sighow.h 2021-08-18 10:33:48 +02:00
stdint.h LibC: Make wchar size definitions available from stdint.h 2022-03-29 15:19:39 +02:00
stdio_file_implementation.h Everywhere: Remove "LibC/" includes, add lint-rule against it 2023-01-07 10:01:37 -07:00
utimens.h LibC: Properly implement the futimens function 2023-04-10 10:21:28 +02:00
wchar_size.h LibC: Make wchar size definitions available from stdint.h 2022-03-29 15:19:39 +02:00
wchar.h LibC: Implement ungetwc() 2021-12-21 21:24:36 +03:30