<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/library/compiler-builtins/ci/docker/powerpc64le-unknown-linux-gnu/Dockerfile, branch try-perf</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=try-perf</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=try-perf'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2025-07-24T10:52:58+00:00</updated>
<entry>
<title>ci: Upgrade ubuntu:25.04 for the PowerPC64LE test</title>
<updated>2025-07-24T10:52:58+00:00</updated>
<author>
<name>Trevor Gross</name>
<email>tmgross@umich.edu</email>
</author>
<published>2025-07-24T09:49:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=5c4abe9ca022cff5fa8d334423a34a8cdc356f05'/>
<id>urn:sha1:5c4abe9ca022cff5fa8d334423a34a8cdc356f05</id>
<content type='text'>
Update the last remaining image.

For this to work, the `QEMU_CPU=POWER8` configuration needed to be
dropped to avoid a new SIGILL. Doing some debugging locally, the crash
comes from an `extswsli` (per `powerpc:common64` in gdb-multiarch) in
the `ld64.so` available with PowerPC, which qemu rejects when set to
power8. Testing a build with `+crt-static` hits the same issue at a
`maddld` in `__libc_start_main_impl`.

Rust isn't needed to reproduce this:

    $ cat a.c
    #include &lt;stdio.h&gt;

    int main() {
            printf("Hello, world!\n");
    }
    $ powerpc64le-linux-gnu-gcc a.c
    $ QEMU_CPU=power8 QEMU_LD_PREFIX=/usr/powerpc64le-linux-gnu/ ./a.out
    qemu: uncaught target signal 4 (Illegal instruction) - core dumped
    Illegal instruction

So the cross toolchain provided by Debian must have a power9 baseline
rather than rustc's power8. Alternatively, qemu may be incorrectly
rejecting these instructions (I can't find a source on whether or not
they should be available for power8). Testing instead with the `-musl`
toolchain and ppc linker from musl.cc works correctly.

In any case, things work with the default qemu config so it seems fine
to drop. The env was originally added in 5d164a4edafb ("fix the
powerpc64le target") but whatever the problem was there appears to no
longer be relevant.
</content>
</entry>
<entry>
<title>ci: Update to the latest ubuntu:25.04 Docker images</title>
<updated>2025-07-24T06:42:53+00:00</updated>
<author>
<name>Trevor Gross</name>
<email>tmgross@umich.edu</email>
</author>
<published>2025-07-24T06:20:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=fcc7824b883bd9bba8e588fbe61d45dc427ea18e'/>
<id>urn:sha1:fcc7824b883bd9bba8e588fbe61d45dc427ea18e</id>
<content type='text'>
This includes a qemu update from 8.2.2 to 9.2.1 which should hopefully
fix some bugs we have encountered.

PowerPC64LE is skipped for now because the new version seems to cause a
number of new SIGILLs.
</content>
</entry>
<entry>
<title>ci: Make CI configuration more similar to `libm`</title>
<updated>2025-04-19T03:49:29+00:00</updated>
<author>
<name>Trevor Gross</name>
<email>tmgross@umich.edu</email>
</author>
<published>2025-04-19T03:16:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=01c58882462bb721b755c765507cdcd335b481d8'/>
<id>urn:sha1:01c58882462bb721b755c765507cdcd335b481d8</id>
<content type='text'>
Apply a handful of changes to reduce the diff between the two:

* Cancel running jobs on new pushes
* Enable log color and backtraces
* Add timeouts
* Specify CI runner versions
* Add an armv7 job
* Replace the name NO_STD with BUILD_ONLY
* Update the extension to the canonical .yaml
* Set AR_ and CC_ environments in docker
* Install requirements to build MPFR
</content>
</entry>
<entry>
<title>Update the Ubuntu docker image to the latest version</title>
<updated>2024-06-22T09:58:25+00:00</updated>
<author>
<name>Trevor Gross</name>
<email>tmgross@umich.edu</email>
</author>
<published>2024-05-29T08:38:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f2092967cb163255a1e5ea7d36c5eac07e467067'/>
<id>urn:sha1:f2092967cb163255a1e5ea7d36c5eac07e467067</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add a way to run tests on non-linux machines</title>
<updated>2024-04-19T15:49:23+00:00</updated>
<author>
<name>Trevor Gross</name>
<email>tmgross@umich.edu</email>
</author>
<published>2024-04-13T04:42:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a55604fd8c2830de66c241b297872c55ea3ab3c2'/>
<id>urn:sha1:a55604fd8c2830de66c241b297872c55ea3ab3c2</id>
<content type='text'>
Allow using the `rust-lang/rust:nightly` docker image to run tests in
cases where the host rust and cargo cannot be used, such as non-linux
hosts.
</content>
</entry>
<entry>
<title>Upgrade all docker containers to 18.04</title>
<updated>2019-04-02T15:39:19+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2019-04-02T15:39:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=95f4f0cd4eb1eee145a4d56344c314e57d8cfc4b'/>
<id>urn:sha1:95f4f0cd4eb1eee145a4d56344c314e57d8cfc4b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>drop binfmt_misc dependency</title>
<updated>2017-10-07T20:19:37+00:00</updated>
<author>
<name>Jorge Aparicio</name>
<email>jorge@japaric.io</email>
</author>
<published>2017-10-07T20:19:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0601024adf733d6dc2c072bda5984d74e051de13'/>
<id>urn:sha1:0601024adf733d6dc2c072bda5984d74e051de13</id>
<content type='text'>
Instead use the Cargo runner feature. The binfmt_misc approach requires running a privileged
container for setup. Not all docker setups support privileged containers so the test suite should be
more accessible with this change as no privileged container is needed.
</content>
</entry>
<entry>
<title>Fix apt 404s in Docker</title>
<updated>2016-11-12T22:08:13+00:00</updated>
<author>
<name>Matt Ickstadt</name>
<email>mattico8@gmail.com</email>
</author>
<published>2016-11-12T21:09:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2c99644aa793fefd3c5788765bd506fa63336950'/>
<id>urn:sha1:2c99644aa793fefd3c5788765bd506fa63336950</id>
<content type='text'>
`apt update` and `apt install` should be in the same Docker RUN statement, otherwise `apt update` will be cached and `apt install` will 404 if a package no longer exists.
</content>
</entry>
<entry>
<title>fix the powerpc64le target</title>
<updated>2016-10-14T14:59:21+00:00</updated>
<author>
<name>Jorge Aparicio</name>
<email>japaricious@gmail.com</email>
</author>
<published>2016-10-14T14:59:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ab4d5e62fbc6ed60074918be045d0fba727f5f30'/>
<id>urn:sha1:ab4d5e62fbc6ed60074918be045d0fba727f5f30</id>
<content type='text'>
by selecting a CPU that's compatible with the instructions that `rustc`
generates
</content>
</entry>
<entry>
<title>cache Cargo artifacts</title>
<updated>2016-09-30T22:39:36+00:00</updated>
<author>
<name>Jorge Aparicio</name>
<email>japaricious@gmail.com</email>
</author>
<published>2016-09-30T22:21:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=92204dce54b277b9f5c4260ecaf5c0ec4eb7d219'/>
<id>urn:sha1:92204dce54b277b9f5c4260ecaf5c0ec4eb7d219</id>
<content type='text'>
notable changes in the docker-based testing infrastructure

- the docker containers can now modify $CARGO_HOME, to re-use the outer
  Cargo registry, and the target directory to re-use build artifacts.

- the docker containers are removed when their execution finishes
  because it's no longer necessary to re-start them to inspect them
  because all the interesting output is in the outer target directory
</content>
</entry>
</feed>
