Revision tags: llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0 |
|
#
779a4440 |
| 11-Sep-2024 |
Schrodinger ZHU Yifan <yifanzhu@rochester.edu> |
[libc] fix tls teardown while being used (#108229)
The call chain to `Mutex:lock` can be polluted by stack protector. For
completely safe, let's postpone the main TLS tearing down to a separate
ph
[libc] fix tls teardown while being used (#108229)
The call chain to `Mutex:lock` can be polluted by stack protector. For
completely safe, let's postpone the main TLS tearing down to a separate
phase.
fix #108030
show more ...
|
Revision tags: llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3 |
|
#
b7c7dbd4 |
| 11-Aug-2024 |
Schrodinger ZHU Yifan <yifanzhu@rochester.edu> |
Revert "libc: Remove `extern "C"` from main declarations" (#102827)
Reverts llvm/llvm-project#102825
|
#
1b71c471 |
| 11-Aug-2024 |
David Blaikie <dblaikie@gmail.com> |
libc: Remove `extern "C"` from main declarations (#102825)
This is invalid in C++, and clang recently started warning on it as of
#101853
|
#
72c9e24e |
| 05-Aug-2024 |
Schrodinger ZHU Yifan <yifanzhu@rochester.edu> |
[libc][startup] fix main thread TLS unmapped with wrong value (#102009)
We have been unmapping a wrong address all the time.
```c
munmap(0x704cffebb000, 41048) = 0
munmap(0x704cffec6000
[libc][startup] fix main thread TLS unmapped with wrong value (#102009)
We have been unmapping a wrong address all the time.
```c
munmap(0x704cffebb000, 41048) = 0
munmap(0x704cffec6000, 69632) = 0
munmap(0x704cffe9f000, 41048) = 0
munmap(0x704cffeaa000, 69632) = 0
munmap(0x704cffe83000, 41048) = 0
munmap(0x704cffe8e000, 69632) = 0
munmap(0x704cffe67000, 41048) = 0
munmap(0x704cffe72000, 69632) = 0
munmap(0x704cffe4b000, 41048) = 0
munmap(0x704cffe56000, 69632) = 0
munmap(0x704cffe2f000, 41048) = 0
munmap(0x704cffe3a000, 69632) = 0
munmap(0x704cfff51028, 41048) = -1 EINVAL (Invalid argument)
```
show more ...
|
Revision tags: llvmorg-19.1.0-rc2 |
|
#
3db5c1ee |
| 28-Jul-2024 |
Schrodinger ZHU Yifan <yifanzhu@rochester.edu> |
revert all tid changes (#100915)
|
Revision tags: llvmorg-19.1.0-rc1, llvmorg-20-init |
|
#
29be889c |
| 20-Jul-2024 |
Schrodinger ZHU Yifan <yifanzhu@rochester.edu> |
reland "[libc] implement cached process/thread identity (#98989)" (#99765)
|
#
415ca24f |
| 18-Jul-2024 |
Schrodinger ZHU Yifan <yifanzhu@rochester.edu> |
Revert "[libc] implement cached process/thread identity" (#99559)
Reverts llvm/llvm-project#98989
|
#
5c9fc3cd |
| 18-Jul-2024 |
Schrodinger ZHU Yifan <yifanzhu@rochester.edu> |
[libc] implement cached process/thread identity (#98989)
migrated from https://github.com/llvm/llvm-project/pull/95965 due to
corrupted git history
|
#
5ff3ff33 |
| 12-Jul-2024 |
Petr Hosek <phosek@google.com> |
[libc] Migrate to using LIBC_NAMESPACE_DECL for namespace declaration (#98597)
This is a part of #97655.
|
#
ce9035f5 |
| 12-Jul-2024 |
Mehdi Amini <joker.eph@gmail.com> |
Revert "[libc] Migrate to using LIBC_NAMESPACE_DECL for namespace declaration" (#98593)
Reverts llvm/llvm-project#98075
bots are broken
|
#
3f30effe |
| 11-Jul-2024 |
Petr Hosek <phosek@google.com> |
[libc] Migrate to using LIBC_NAMESPACE_DECL for namespace declaration (#98075)
This is a part of #97655.
|
#
dca49d73 |
| 25-Jun-2024 |
Nick Desaulniers (paternity leave) <nickdesaulniers@users.noreply.github.com> |
[libc][arm32] define argc type and stack alignment (#96367)
https://github.com/ARM-software/abi-aa/blob/main/aapcs32/aapcs32.rst#6212stack-constraints-at-a-public-interface mentions that the stack o
[libc][arm32] define argc type and stack alignment (#96367)
https://github.com/ARM-software/abi-aa/blob/main/aapcs32/aapcs32.rst#6212stack-constraints-at-a-public-interface mentions that the stack on ARM32 is double word aligned.
Remove confused comments around ArgcType. argc is always an int, passed on the stack, so we need to store a pointer to it (regardless of ILP32 or LP64).
show more ...
|
#
bea7f3d8 |
| 24-Jun-2024 |
Nick Desaulniers (paternity leave) <nickdesaulniers@users.noreply.github.com> |
[libc][startup] create header for ElfW and use in startup (#96510)
This is necessary for 32b platforms such as ARM and i386.
Link: #94128
|
Revision tags: llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1 |
|
#
4a9b5aa1 |
| 24-Jan-2024 |
Schrodinger ZHU Yifan <yifanzhu@rochester.edu> |
[libc][NFC] remove TODO about AppProperties (#79356)
```
AppProperties app;
```
is marked as a weak symbol in header now. One can just use `&app !=
nullptr` to check if `app` is defined. There i
[libc][NFC] remove TODO about AppProperties (#79356)
```
AppProperties app;
```
is marked as a weak symbol in header now. One can just use `&app !=
nullptr` to check if `app` is defined. There is no need to define it for
overlay mode.
show more ...
|
Revision tags: llvmorg-19-init |
|
#
0fe20aa4 |
| 22-Jan-2024 |
Schrodinger ZHU Yifan <yifanzhu@rochester.edu> |
[libc] support PIE relocations (#78993)
For some reasons, we are using `-fpie` (libc/cmake/modules/LLVMLibCObjectRules.cmake:31) without supporting it. According to @lntue, some of the hermetic test
[libc] support PIE relocations (#78993)
For some reasons, we are using `-fpie` (libc/cmake/modules/LLVMLibCObjectRules.cmake:31) without supporting it. According to @lntue, some of the hermetic tests are broken without proper PIE support. This patch implements basic relocations support for PIE.
show more ...
|
#
2bc99445 |
| 04-Jan-2024 |
Schrodinger ZHU Yifan <yifanzhu@rochester.edu> |
[libc] major refactor of startup library (#76092)
* separate initialization routines into _start and do_start for all
architectures.
* lift do_start as a separate object library to avoid code dupl
[libc] major refactor of startup library (#76092)
* separate initialization routines into _start and do_start for all
architectures.
* lift do_start as a separate object library to avoid code duplication.
* (addtionally) address the problem of building hermetic libc with
-fstack-pointer-*
The `crt1.o` is now a merged result of three components:
```
___
|___ x86_64
| |_______ start.cpp.o <- _start (loads process initial stack and aligns stack pointer)
| |_______ tls.cpp.o <- init_tls, cleanup_tls, set_thread_pointer (TLS related routines)
|___ do_start.cpp.o <- do_start (sets up global variables and invokes the main function)
```
show more ...
|