-
Notifications
You must be signed in to change notification settings - Fork 13.5k
Get rid of build-powerpc64le-toolchain.sh #143415
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Get rid of build-powerpc64le-toolchain.sh #143415
Conversation
The dist-powerpc64le-linux-musl runner never actually used the toolchain that the script produced, it instead used the one from crosstool-ng. The dist-powerpc64le-linux-gnu runner did use it, from what I can tell mainly to get a glibc 2.17 version with ppc64le support backported. Since crosstool-ng has the necessary patches, we can just use crosstool-ng to get an appropriate toolchain. While at it, use kernel 3.10 headers since that's the version documented in platform support for this target. Signed-off-by: Jens Reidel <adrian@travitia.xyz>
r? @marcoieni rustbot has assigned @marcoieni. Use |
@bors2 try |
…try> Get rid of build-powerpc64le-toolchain.sh The dist-powerpc64le-linux-musl runner never actually used the toolchain that the script produced, it instead used the one from crosstool-ng. The dist-powerpc64le-linux-gnu runner did use it, from what I can tell mainly to get a glibc 2.17 version with ppc64le support backported. Since crosstool-ng has the necessary patches, we can just use crosstool-ng to get an appropriate toolchain. While at it, use kernel 3.10 headers since that's the version documented in platform support for this target. try-job: dist-powerpc64le-linux-gnu try-job: dist-powerpc64le-linux-musl <!-- homu-ignore:start --> <!-- If this PR is related to an unstable feature or an otherwise tracked effort, please link to the relevant tracking issue here. If you don't know of a related tracking issue or there are none, feel free to ignore this. This PR will get automatically assigned to a reviewer. In case you would like a specific user to review your work, you can assign it to them by using r? <reviewer name> --> <!-- homu-ignore:end -->
Hi, thanks for this PR! It looks like a great cleanup. I'll ask for some help to review it.
Did you get this from the script? If yes, where?
How can I double check this? |
The
Not sure what your question is, I got this from reading the script. Glibc 2.17 is the documented baseline of the target. |
FWIW, I use a pipeline like this to check the resulting symbol versions:
(and repeat for all binaries, though In the CI artifacts from your try build, everything looks good to me except for one:
... but that appears to be from the x86-64 build host, not for PPC! (probably not a new problem)
|
Yep! Can confirm this on a powerpc64le-unknown-linux-gnu host that installed the toolchain via rustup: adrian@theta:~$ find ~/.rustup/ -name *objcopy*
/home/adrian/.rustup/toolchains/nightly-powerpc64le-unknown-linux-gnu/lib/rustlib/powerpc64le-unknown-linux-gnu/bin/rust-objcopy
adrian@theta:~$ file /home/adrian/.rustup/toolchains/nightly-powerpc64le-unknown-linux-gnu/lib/rustlib/powerpc64le-unknown-linux-gnu/bin/rust-objcopy
/home/adrian/.rustup/toolchains/nightly-powerpc64le-unknown-linux-gnu/lib/rustlib/powerpc64le-unknown-linux-gnu/bin/rust-objcopy: ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=6507171c1208cad17b064ffbff3b348c18680367, for GNU/Linux 3.2.0, not stripped This happens on all cross builds, actually. E.g. aarch64-unknown-linux-musl has the same issue. |
The dist-powerpc64le-linux-musl runner never actually used the toolchain that the script produced, it instead used the one from crosstool-ng.
The dist-powerpc64le-linux-gnu runner did use it, from what I can tell mainly to get a glibc 2.17 version with ppc64le support backported. Since crosstool-ng has the necessary patches, we can just use crosstool-ng to get an appropriate toolchain. While at it, use kernel 3.10 headers since that's the version documented in platform support for this target.
try-job: dist-powerpc64le-linux-gnu
try-job: dist-powerpc64le-linux-musl