| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2023-01-11 | Move /src/test to /tests | Albert Larsan | -43/+0 | |
| 2022-08-23 | Diagnose missing includes in run-make tests | Tomasz Miąsko | -1/+1 | |
| 2021-01-13 | Update code to account for extern ABI requirement | Mark Rousskov | -1/+1 | |
| 2018-12-25 | Remove licenses | Mark Rousskov | -20/+0 | |
| 2018-06-11 | Remove some '#[feature]' attributes for stabilized features | Simon Sapin | -1/+0 | |
| 2018-06-11 | Remove alloc::Opaque and use *mut u8 as pointer type for GlobalAlloc | Mike Hommey | -2/+2 | |
| 2018-04-12 | Rename alloc::Void to alloc::Opaque | Simon Sapin | -2/+2 | |
| 2018-04-12 | Use the GlobalAlloc trait for #[global_allocator] | Simon Sapin | -4/+4 | |
| 2018-04-04 | Fix another circulare deps link args issue | Alex Crichton | -0/+1 | |
| It turns out that the support in #49316 wasn't enough to handle all cases notably the example in #48661. The underlying bug was connected to panic=abort where lang items were listed in the `missing_lang_items` sets but didn't actually exist anywhere. This caused the linker backend to deduce that start-group/end-group wasn't needed because not all items were defined. Instead the missing lang items that don't actually need to have a definition are filtered out and not considered for the start-group/end-group arguments Closes #48661 | ||||
| 2018-03-29 | rustc: Group linked libraries where needed | Alex Crichton | -0/+63 | |
| This commit fixes a longstanding issue with the compiler with circular dependencies between libcore and libstd. The `core` crate requires at least one symbol, the ability to unwind. The `std` crate is the crate which actually defines this symbol, but the `std` crate also depends on the `core` crate. This circular dependency is in general disallowed in Rust as crates cannot have cycles amongst them. A special exception is made just for core/std, but this is also unfortunately incompatible with how GNU linkers work. GNU linkers will process undefined symbols in a left-to-right fashion, only actually linking an rlib like libstd if there are any symbols used from it. This strategy is incompatible with circular dependencies because if we otherwise don't use symbols from libstd we don't discover that we needed it until we're later processing libcore's symbols! To fix this GNU linkers support the `--start-group` and `--end-group` options which indicate "libraries between these markers may have circular dependencies amongst them. The linker invocation has been updated to automatically pass these arguments when we're invoking a GNU linker and automatically calculate where the arguments need to go (around libstd and libcore) Closes #18807 Closes #47074 | ||||
