<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/test/run-make-fulldeps/std-core-cycle, branch master</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=master</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2023-01-11T09:32:08+00:00</updated>
<entry>
<title>Move /src/test to /tests</title>
<updated>2023-01-11T09:32:08+00:00</updated>
<author>
<name>Albert Larsan</name>
<email>74931857+albertlarsan68@users.noreply.github.com</email>
</author>
<published>2023-01-05T08:13:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=cf2dff2b1e3fa55fa5415d524200070d0d7aacfe'/>
<id>urn:sha1:cf2dff2b1e3fa55fa5415d524200070d0d7aacfe</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Diagnose missing includes in run-make tests</title>
<updated>2022-08-23T08:06:06+00:00</updated>
<author>
<name>Tomasz Miąsko</name>
<email>tomasz.miasko@gmail.com</email>
</author>
<published>2022-08-23T00:00:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ba74a628adfa70be5b13b6588715f0d5abd1bd5c'/>
<id>urn:sha1:ba74a628adfa70be5b13b6588715f0d5abd1bd5c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Update code to account for extern ABI requirement</title>
<updated>2021-01-13T12:49:45+00:00</updated>
<author>
<name>Mark Rousskov</name>
<email>mark.simulacrum@gmail.com</email>
</author>
<published>2020-09-01T21:28:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=4614671cae99ff35e61708ab64e9ba7850711750'/>
<id>urn:sha1:4614671cae99ff35e61708ab64e9ba7850711750</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove licenses</title>
<updated>2018-12-26T04:08:33+00:00</updated>
<author>
<name>Mark Rousskov</name>
<email>mark.simulacrum@gmail.com</email>
</author>
<published>2018-12-25T15:56:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2a663555ddf36f6b041445894a8c175cd1bc718c'/>
<id>urn:sha1:2a663555ddf36f6b041445894a8c175cd1bc718c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove some '#[feature]' attributes for stabilized features</title>
<updated>2018-06-11T20:48:57+00:00</updated>
<author>
<name>Simon Sapin</name>
<email>simon.sapin@exyr.org</email>
</author>
<published>2018-05-31T17:31:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=fd6e08a1e6bbccd00e70b23ac72dd9a9a633be30'/>
<id>urn:sha1:fd6e08a1e6bbccd00e70b23ac72dd9a9a633be30</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove alloc::Opaque and use *mut u8 as pointer type for GlobalAlloc</title>
<updated>2018-06-11T20:47:23+00:00</updated>
<author>
<name>Mike Hommey</name>
<email>mh@glandium.org</email>
</author>
<published>2018-05-31T06:57:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f6ab74b8e7efed01c1045773b6693f23f6ebd93c'/>
<id>urn:sha1:f6ab74b8e7efed01c1045773b6693f23f6ebd93c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rename alloc::Void to alloc::Opaque</title>
<updated>2018-04-12T20:53:22+00:00</updated>
<author>
<name>Simon Sapin</name>
<email>simon.sapin@exyr.org</email>
</author>
<published>2018-04-11T15:19:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f607a3872addf380846cae28661a777ec3e3c9a2'/>
<id>urn:sha1:f607a3872addf380846cae28661a777ec3e3c9a2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use the GlobalAlloc trait for #[global_allocator]</title>
<updated>2018-04-12T20:53:12+00:00</updated>
<author>
<name>Simon Sapin</name>
<email>simon.sapin@exyr.org</email>
</author>
<published>2018-04-03T15:12:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=86753ce1cc520bfe50ae89f09ec47f313ce900eb'/>
<id>urn:sha1:86753ce1cc520bfe50ae89f09ec47f313ce900eb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix another circulare deps link args issue</title>
<updated>2018-04-04T23:54:30+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2018-04-04T23:54:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=48ede3f031ee81be017923708e5a6e77160e09c3'/>
<id>urn:sha1:48ede3f031ee81be017923708e5a6e77160e09c3</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>rustc: Group linked libraries where needed</title>
<updated>2018-03-29T22:07:51+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2018-03-23T21:33:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=88114f61b44dba22c6fa180e17d7638f2cf7a9d7'/>
<id>urn:sha1:88114f61b44dba22c6fa180e17d7638f2cf7a9d7</id>
<content type='text'>
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
</content>
</entry>
</feed>
