rust/library/std/src/sys_common
bors d052f6fde6 Auto merge of #117895 - mzohreva:mz/fix-sgx-backtrace, r=Mark-Simulacrum
Adjust frame IP in backtraces relative to image base for SGX target

This is followup to https://github.com/rust-lang/backtrace-rs/pull/566.

The backtraces printed by `panic!` or generated by `std::backtrace::Backtrace` in SGX target are not usable. The frame addresses need to be relative to image base address so they can be used for symbol resolution. Here's an example panic backtrace generated before this change:

```
$ cargo r --target x86_64-fortanix-unknown-sgx
...
stack backtrace:
   0:     0x7f8fe401d3a5 - <unknown>
   1:     0x7f8fe4034780 - <unknown>
   2:     0x7f8fe401c5a3 - <unknown>
   3:     0x7f8fe401d1f5 - <unknown>
   4:     0x7f8fe401e6f6 - <unknown>
```
Here's the same panic after this change:
```
$ cargo +stage1 r --target x86_64-fortanix-unknown-sgx
stack backtrace:
   0:            0x198bf - <unknown>
   1:            0x3d181 - <unknown>
   2:            0x26164 - <unknown>
   3:            0x19705 - <unknown>
   4:            0x1ef36 - <unknown>
```
cc `@jethrogb` and `@workingjubilee`
2023-11-19 03:00:18 +00:00
..
memchr Move std::memchr to sys_common 2021-05-14 03:54:46 +02:00
net Match unmatched backticks in library/ 2023-03-03 03:03:29 +01:00
once Re-format code with new rustfmt 2023-11-15 21:45:48 -05:00
thread_local_key Update test. 2023-04-27 15:25:48 +02:00
thread_parking std: synchronize with all calls to unpark in id-based thread parker 2023-08-07 19:13:34 +02:00
wtf8 Rollup merge of #98202 - aticu:impl_tryfrom_osstr_for_str, r=Amanieu 2023-06-14 18:10:27 +02:00
backtrace.rs Use ptr::invalid_mut for SGX image base 2023-11-17 11:49:23 -08:00
fs.rs Hide Repr details from io::Error, and rework io::Error::new_const. 2022-02-04 18:47:29 -08:00
io.rs Update rand in the stdlib tests, and remove the getrandom feature from it 2023-01-04 14:52:41 -08:00
lazy_box.rs Leak pthreax_mutex_t when it's dropped while locked. 2022-06-16 12:09:12 +02:00
memchr.rs Move std::memchr to sys_common 2021-05-14 03:54:46 +02:00
mod.rs Fixes from PR 2023-09-22 17:23:32 +05:30
net.rs Make TCP connect() handle EINTR correctly 2023-10-13 18:12:56 +07:00
process.rs also print clearing the environment entirely 2023-08-24 08:08:46 +02:00
tests.rs std: move "mod tests/benches" to separate files 2020-08-31 02:56:59 +00:00
thread.rs Relax memory ordering used in min_stack 2022-05-01 15:55:54 -07:00
thread_info.rs Refactor thread_info to remove the RefCell 2023-09-11 14:11:37 -04:00
thread_local_dtor.rs std: abort instead of panicking if the global allocator uses TLS 2023-10-04 11:49:48 +02:00
thread_local_key.rs Remove unused std::sys_common::thread_local_key::Key. 2023-04-27 15:25:48 +02:00
wstr.rs Extract WStrUnits to sys_common::wstr 2022-11-28 21:17:08 +05:30
wtf8.rs std: add some missing repr(transparent) 2023-08-14 10:40:59 +02:00