Skip to content

travis: Expand the cross linux image - #39111

Merged
bors merged 1 commit into
rust-lang:masterfrom
alexcrichton:more-cross-targets
Jan 21, 2017
Merged

travis: Expand the cross linux image#39111
bors merged 1 commit into
rust-lang:masterfrom
alexcrichton:more-cross-targets

Conversation

@alexcrichton

@alexcrichtonalexcrichton commented Jan 17, 2017

Copy link
Copy Markdown
Member

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
Copy Markdown
MemberAuthor

cc @japaric, mind checking my logic on this?

@rust-highfive

Copy link
Copy Markdown
Contributor

r? @brson

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

@japaric

Copy link
Copy Markdown
Contributor

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
Copy Markdown
MemberAuthor

@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
Copy Markdown
Contributor

@bors r+

@bors

bors commented Jan 18, 2017

Copy link
Copy Markdown
Collaborator

📌 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
Copy Markdown
MemberAuthor

@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:masterJan 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 freeto 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

@alexcrichton@rust-highfive@japaric@brson@bors