Skip to content
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

travis: Expand the cross linux image #39111

Merged
merged 1 commit into from
Jan 21, 2017

Conversation

alexcrichton
Copy link
Member

@alexcrichton alexcrichton commented Jan 17, 2017

This expands the cross travis matrix entry with a few more targets that our
nightlies are building:

  • x86_64-rumprun-netbsd
  • arm-unknown-linux-musleabi
  • arm-unknown-linux-musleabihf
  • armv7-unknown-linux-musleabihf
  • mips-unknown-linux-musl
  • mipsel-unknown-linux-musl

This commit doesn't compile custom toolchains like our current cross-image does,
but instead compiles musl manually and then compiles libunwind manually (like
x86_64) for use for the ARM targets and just uses openwrt toolchains for the
mips targets.

cc #38531

@alexcrichton
Copy link
Member Author

cc @japaric, mind checking my logic on this?

@rust-highfive
Copy link
Collaborator

r? @brson

(rust_highfive has picked a reviewer for you, use r? to override)

@japaric
Copy link
Member

japaric commented Jan 17, 2017

LGTM. Just concerned about using Ubuntu's arm-linux-gnueabihf-gcc toolchain, which targets ARMv7 devices, to build the arm-unknown-linux-musleabihf toolchain / libunwind because that target = ARMv6+ devices. Setting CFLAGS takes care of generating ARMv6 compatible instructions from C code but if e.g. libunwind.a gets statically linked with some object from the arm-linux-gnueabihf-gcc toolchain, which was compiled for ARMv7, then that could introduce incompatible instructions.

This expands the `cross` travis matrix entry with a few more targets that our
nightlies are building:

* x86_64-rumprun-netbsd
* arm-unknown-linux-musleabi
* arm-unknown-linux-musleabihf
* armv7-unknown-linux-musleabihf
* mips-unknown-linux-musl
* mipsel-unknown-linux-musl

This commit doesn't compile custom toolchains like our current cross-image does,
but instead compiles musl manually and then compiles libunwind manually (like
x86_64) for use for the ARM targets and just uses openwrt toolchains for the
mips targets.
@alexcrichton
Copy link
Member Author

@japaric yeah my hope is that through the use of the musl wrapper scripts we avoid any usage of glibc objects as the wrapper scripts should point everything to the musl objects. I suppose we'll see though!

@brson
Copy link
Contributor

brson commented Jan 18, 2017

@bors r+

@bors
Copy link
Contributor

bors commented Jan 18, 2017

📌 Commit 6b23cc4 has been approved by brson

alexcrichton added a commit to alexcrichton/rust that referenced this pull request Jan 20, 2017
…brson

travis: Expand the `cross` linux image

This expands the `cross` travis matrix entry with a few more targets that our
nightlies are building:

* x86_64-rumprun-netbsd
* arm-unknown-linux-musleabi
* arm-unknown-linux-musleabihf
* armv7-unknown-linux-musleabihf
* mips-unknown-linux-musl
* mipsel-unknown-linux-musl

This commit doesn't compile custom toolchains like our current cross-image does,
but instead compiles musl manually and then compiles libunwind manually (like
x86_64) for use for the ARM targets and just uses openwrt toolchains for the
mips targets.

cc rust-lang#38531
@alexcrichton
Copy link
Member Author

@bors: r-

Building this docker image now produces too much output, so it needs to be hidden by default. I fixed this in the rollup and hope to land that but we'll see how that goes.

bors added a commit that referenced this pull request Jan 20, 2017
bors added a commit that referenced this pull request Jan 21, 2017
@bors bors merged commit 6b23cc4 into rust-lang:master Jan 21, 2017
@alexcrichton alexcrichton deleted the more-cross-targets branch January 21, 2017 18:04
japaric pushed a commit to rust-lang/compiler-builtins that referenced this pull request Feb 6, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants