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

target-cpu=native is broken on latest nightly #53322

Closed
robsmith11 opened this issue Aug 14, 2018 · 20 comments · Fixed by #53642
Closed

target-cpu=native is broken on latest nightly #53322

robsmith11 opened this issue Aug 14, 2018 · 20 comments · Fixed by #53642
Labels
A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. P-high High priority regression-from-stable-to-nightly Performance or correctness regression from stable to nightly. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@robsmith11
Copy link

robsmith11 commented Aug 14, 2018

Reproduce by creating a crate with cargo init and .cargo/config set to

[build]
rustflags = ["-C", "target-cpu=native"]

It produces the following errors:

tmp/test1 $ cargo build --release                                                                            
Compiling test1 v0.1.0 (file:///tmp/test1)                                                              
'native' is not a recognized processor for this target (ignoring processor)                                
'native' is not a recognized processor for this target (ignoring processor)                                
'native' is not a recognized processor for this target (ignoring processor)                                
'native' is not a recognized processor for this target (ignoring processor)
'native' is not a recognized processor for this target (ignoring processor)
'native' is not a recognized processor for this target (ignoring processor)                                
'native' is not a recognized processor for this target (ignoring processor)                                
'native' is not a recognized processor for this target (ignoring processor)                                    
Finished release [optimized] target(s) in 0.25s

It was working fine on nightly-2018-08-06-x86_64-unknown-linux-gnu, but broke with
nightly-2018-08-14-x86_64-unknown-linux-gnu (rustup doesn't show any nightlies available between those dates.

Hardware is Skylake Xeon and correctly detected by rustc --print:

$ rustc --print target-cpus
Available CPUs for this target:
    native         - Select the CPU of the current host (currently skylake).
...
@TheIronBorn
Copy link

I'm seeing this with rustc 1.30.0-nightly (d5a448b3f 2018-08-13), host: x86_64-apple-darwin.

$ rustc --print target-cpus
Available CPUs for this target:
    native         - Select the CPU of the current host (currently sandybridge).

@petrochenkov petrochenkov added A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. regression-from-stable-to-nightly Performance or correctness regression from stable to nightly. labels Aug 14, 2018
@MSxDOS
Copy link

MSxDOS commented Aug 14, 2018

host: x86_64-pc-windows-msvc; nehalem 😄

@sanmai-NL
Copy link

rustc 1.30.0-nightly (d767ee116 2018-08-15)
binary: rustc
commit-hash: d767ee11616390d128853a06f5addb619e79213f
commit-date: 2018-08-15
host: x86_64-unknown-linux-gnu
release: 1.30.0-nightly
LLVM version: 7.0
Available CPUs for this target:
    native         - Select the CPU of the current host (currently skylake)

@petrochenkov petrochenkov added I-nominated T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Aug 16, 2018
@pravic
Copy link
Contributor

pravic commented Aug 20, 2018

And..

What happened and why? Is it a broken LLVM version or what?

@pthariensflame
Copy link
Contributor

Problem still present with rustc 1.30.0-nightly (33b923fd4 2018-08-18) and:

$ rustc --print cfg
debug_assertions
target_arch="x86_64"
target_endian="little"
target_env=""
target_family="unix"
target_feature="fxsr"
target_feature="mmx"
target_feature="sse"
target_feature="sse2"
target_feature="sse3"
target_feature="ssse3"
target_has_atomic="128"
target_has_atomic="16"
target_has_atomic="32"
target_has_atomic="64"
target_has_atomic="8"
target_has_atomic="cas"
target_has_atomic="ptr"
target_os="macos"
target_pointer_width="64"
target_thread_local
target_vendor="apple"
unix
$ rustc --print cfg -C target-cpu=native -C opt-level=3
target_arch="x86_64"
target_endian="little"
target_env=""
target_family="unix"
target_feature="aes"
target_feature="avx"
target_feature="avx2"
target_feature="bmi1"
target_feature="bmi2"
target_feature="fma"
target_feature="fxsr"
target_feature="lzcnt"
target_feature="mmx"
target_feature="pclmulqdq"
target_feature="popcnt"
target_feature="rdrand"
target_feature="rdseed"
target_feature="sse"
target_feature="sse2"
target_feature="sse3"
target_feature="sse4.1"
target_feature="sse4.2"
target_feature="ssse3"
target_feature="xsave"
target_feature="xsavec"
target_feature="xsaveopt"
target_feature="xsaves"
target_has_atomic="128"
target_has_atomic="16"
target_has_atomic="32"
target_has_atomic="64"
target_has_atomic="8"
target_has_atomic="cas"
target_has_atomic="ptr"
target_os="macos"
target_pointer_width="64"
target_thread_local
target_vendor="apple"
unix

This is especially weird as it accepts it for printing the configuration, but then doesn't when actually compiling. 😫

@TheIronBorn
Copy link

Still seeing this with nightly-x86_64-apple-darwin rustc 1.30.0-nightly (33b923fd4 2018-08-18) (sandybridge)

@nikomatsakis
Copy link
Contributor

cc @nagisa @alexcrichton -- anybody have any ideas what's going on here? Could this be related to an LLVM upgrade or something?

@nikomatsakis
Copy link
Contributor

Marking as P-high for now. This is a regression, but on the other hand, if the message is coming from LLVM, there may not be a lot we can do here? Would be nice to get some more insight into what might be happening here.

@nikomatsakis nikomatsakis added P-high High priority and removed I-nominated labels Aug 23, 2018
@alexcrichton
Copy link
Member

I've bisected this to #53031 and can reproduce this with a simple fn main() {}. It looks like LLVM doesn't recognize the "native" CPU in function attributes, only in the target spec presumably!

cc @michaelwoerister (as a heads up)

I'll look into seeing if we can extract the name of the CPU from LLVM and see if we can set that instead.

@alexcrichton
Copy link
Member

This should be fixed in #53642

alexcrichton added a commit to alexcrichton/rust that referenced this issue Aug 24, 2018
This fixes a regression from rust-lang#53031 where specifying `-C target-cpu=native` is
printing a lot of warnings from LLVM about `native` being an unknown CPU. It
turns out that `native` is indeed an unknown CPU and we have to perform a
mapping to an actual CPU name, but this mapping is only performed in one
location rather than all locations we inform LLVM about the target CPU.

This commit centralizes the mapping of `native` to LLVM's value of the native
CPU, ensuring that all locations we inform LLVM about the `target-cpu` it's
never `native`.

Closes rust-lang#53322
bors added a commit that referenced this issue Aug 27, 2018
Fix warnings about the `native` target-cpu

This fixes a regression from #53031 where specifying `-C target-cpu=native` is
printing a lot of warnings from LLVM about `native` being an unknown CPU. It
turns out that `native` is indeed an unknown CPU and we have to perform a
mapping to an actual CPU name, but this mapping is only performed in one
location rather than all locations we inform LLVM about the target CPU.

This commit centralizes the mapping of `native` to LLVM's value of the native
CPU, ensuring that all locations we inform LLVM about the `target-cpu` it's
never `native`.

Closes #53322
alexcrichton added a commit to alexcrichton/rust that referenced this issue Aug 27, 2018
This fixes a regression from rust-lang#53031 where specifying `-C target-cpu=native` is
printing a lot of warnings from LLVM about `native` being an unknown CPU. It
turns out that `native` is indeed an unknown CPU and we have to perform a
mapping to an actual CPU name, but this mapping is only performed in one
location rather than all locations we inform LLVM about the target CPU.

This commit centralizes the mapping of `native` to LLVM's value of the native
CPU, ensuring that all locations we inform LLVM about the `target-cpu` it's
never `native`.

Closes rust-lang#53322
bors added a commit that referenced this issue Aug 28, 2018
Fix warnings about the `native` target-cpu

This fixes a regression from #53031 where specifying `-C target-cpu=native` is
printing a lot of warnings from LLVM about `native` being an unknown CPU. It
turns out that `native` is indeed an unknown CPU and we have to perform a
mapping to an actual CPU name, but this mapping is only performed in one
location rather than all locations we inform LLVM about the target CPU.

This commit centralizes the mapping of `native` to LLVM's value of the native
CPU, ensuring that all locations we inform LLVM about the `target-cpu` it's
never `native`.

Closes #53322
alexcrichton added a commit to alexcrichton/rust that referenced this issue Aug 28, 2018
This fixes a regression from rust-lang#53031 where specifying `-C target-cpu=native` is
printing a lot of warnings from LLVM about `native` being an unknown CPU. It
turns out that `native` is indeed an unknown CPU and we have to perform a
mapping to an actual CPU name, but this mapping is only performed in one
location rather than all locations we inform LLVM about the target CPU.

This commit centralizes the mapping of `native` to LLVM's value of the native
CPU, ensuring that all locations we inform LLVM about the `target-cpu` it's
never `native`.

Closes rust-lang#53322
bors added a commit that referenced this issue Aug 29, 2018
Fix warnings about the `native` target-cpu

This fixes a regression from #53031 where specifying `-C target-cpu=native` is
printing a lot of warnings from LLVM about `native` being an unknown CPU. It
turns out that `native` is indeed an unknown CPU and we have to perform a
mapping to an actual CPU name, but this mapping is only performed in one
location rather than all locations we inform LLVM about the target CPU.

This commit centralizes the mapping of `native` to LLVM's value of the native
CPU, ensuring that all locations we inform LLVM about the `target-cpu` it's
never `native`.

Closes #53322
@EFanZh
Copy link
Contributor

EFanZh commented Sep 18, 2018

I still got the following error when I was compiling alacritty:

...
   Compiling ws2_32-sys v0.2.1                                                                                                                                                                                                                                                 
   Compiling unreachable v1.0.0                                                                                                                                                                                                                                                
   Compiling log v0.4.3
error: failed to run custom build command for `khronos_api v2.2.0`                                                                                                                                                                                                             
process didn't exit successfully: `/████/alacritty-0.2.0/target/release/build/khronos_api-61964d0691c94c79/build-script-build` (signal: 4, SIGILL: illegal instruction)
warning: build failed, waiting for other jobs to finish...
error: failed to run custom build command for `num-traits v0.2.5`                                                                                                                                                                                                              
process didn't exit successfully: `/████/alacritty-0.2.0/target/release/build/num-traits-19a7288b3d8c960b/build-script-build` (signal: 4, SIGILL: illegal instruction)
==> ERROR: A failure occurred in build().
    Aborting...

Here are some of my configurations that may be useful:

$ rustc --version
rustc 1.30.0-nightly (cb6d2dfa8 2018-09-16)
$ cat ~/.cargo/config 
[build]
rustflags = ["-C", "target-cpu=native"]
$ lscpu
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              2
On-line CPU(s) list: 0,1
Thread(s) per core:  1
Core(s) per socket:  2
Socket(s):           1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               60
Model name:          Intel(R) Pentium(R) CPU G3250 @ 3.20GHz
Stepping:            3
CPU MHz:             3167.096
CPU max MHz:         3200.0000
CPU min MHz:         800.0000
BogoMIPS:            6385.35
Virtualization:      VT-x
L1d cache:           32K
L1i cache:           32K
L2 cache:            256K
L3 cache:            3072K
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer xsave rdrand lahf_lm abm cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust erms invpcid xsaveopt dtherm arat pln pts flush_l1d
$ rustc --print target-cpus
Available CPUs for this target:
    native         - Select the CPU of the current host (currently haswell).
    amdfam10       - Select the amdfam10 processor.
    athlon         - Select the athlon processor.
    athlon-4       - Select the athlon-4 processor.
    athlon-fx      - Select the athlon-fx processor.
    athlon-mp      - Select the athlon-mp processor.
    athlon-tbird   - Select the athlon-tbird processor.
    athlon-xp      - Select the athlon-xp processor.
    athlon64       - Select the athlon64 processor.
    athlon64-sse3  - Select the athlon64-sse3 processor.
    atom           - Select the atom processor.
    barcelona      - Select the barcelona processor.
    bdver1         - Select the bdver1 processor.
    bdver2         - Select the bdver2 processor.
    bdver3         - Select the bdver3 processor.
    bdver4         - Select the bdver4 processor.
    bonnell        - Select the bonnell processor.
    broadwell      - Select the broadwell processor.
    btver1         - Select the btver1 processor.
    btver2         - Select the btver2 processor.
    c3             - Select the c3 processor.
    c3-2           - Select the c3-2 processor.
    cannonlake     - Select the cannonlake processor.
    core-avx-i     - Select the core-avx-i processor.
    core-avx2      - Select the core-avx2 processor.
    core2          - Select the core2 processor.
    corei7         - Select the corei7 processor.
    corei7-avx     - Select the corei7-avx processor.
    generic        - Select the generic processor.
    geode          - Select the geode processor.
    goldmont       - Select the goldmont processor.
    goldmont-plus  - Select the goldmont-plus processor.
    haswell        - Select the haswell processor.
    i386           - Select the i386 processor.
    i486           - Select the i486 processor.
    i586           - Select the i586 processor.
    i686           - Select the i686 processor.
    icelake-client - Select the icelake-client processor.
    icelake-server - Select the icelake-server processor.
    ivybridge      - Select the ivybridge processor.
    k6             - Select the k6 processor.
    k6-2           - Select the k6-2 processor.
    k6-3           - Select the k6-3 processor.
    k8             - Select the k8 processor.
    k8-sse3        - Select the k8-sse3 processor.
    knl            - Select the knl processor.
    knm            - Select the knm processor.
    lakemont       - Select the lakemont processor.
    nehalem        - Select the nehalem processor.
    nocona         - Select the nocona processor.
    opteron        - Select the opteron processor.
    opteron-sse3   - Select the opteron-sse3 processor.
    penryn         - Select the penryn processor.
    pentium        - Select the pentium processor.
    pentium-m      - Select the pentium-m processor.
    pentium-mmx    - Select the pentium-mmx processor.
    pentium2       - Select the pentium2 processor.
    pentium3       - Select the pentium3 processor.
    pentium3m      - Select the pentium3m processor.
    pentium4       - Select the pentium4 processor.
    pentium4m      - Select the pentium4m processor.
    pentiumpro     - Select the pentiumpro processor.
    prescott       - Select the prescott processor.
    sandybridge    - Select the sandybridge processor.
    silvermont     - Select the silvermont processor.
    skx            - Select the skx processor.
    skylake        - Select the skylake processor.
    skylake-avx512 - Select the skylake-avx512 processor.
    slm            - Select the slm processor.
    tremont        - Select the tremont processor.
    westmere       - Select the westmere processor.
    winchip-c6     - Select the winchip-c6 processor.
    winchip2       - Select the winchip2 processor.
    x86-64         - Select the x86-64 processor.
    yonah          - Select the yonah processor.
    znver1         - Select the znver1 processor.

@EFanZh
Copy link
Contributor

EFanZh commented Sep 21, 2018

@alexcrichton Can you take a look at this? Thanks.

@sanmai-NL
Copy link

@EFanZh: The error is unclear, can you do a verbose build?

@EFanZh
Copy link
Contributor

EFanZh commented Sep 21, 2018

Here is the log from verbose build:

   Compiling cc v1.0.18
   Compiling version_check v0.1.4
     Running `rustc --crate-name cc /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/cc-1.0.18/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=1547afaf5e2f8a47 -C extra-filename=-1547afaf5e2f8a47 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
     Running `rustc --crate-name version_check /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/version_check-0.1.4/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=0bc5e548c1292f63 -C extra-filename=-0bc5e548c1292f63 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling bitflags v1.0.3
     Running `rustc --crate-name bitflags /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/bitflags-1.0.3/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 --cfg 'feature="default"' -C metadata=3778311aea604ee8 -C extra-filename=-3778311aea604ee8 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling pkg-config v0.3.12
     Running `rustc --crate-name pkg_config /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/pkg-config-0.3.12/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=b8525fb3d171b67e -C extra-filename=-b8525fb3d171b67e --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling downcast-rs v1.0.3
     Running `rustc --crate-name downcast_rs /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/downcast-rs-1.0.3/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=81306e8d0b974cfc -C extra-filename=-81306e8d0b974cfc --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling khronos_api v2.2.0
     Running `rustc --crate-name build_script_build /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/khronos_api-2.2.0/build.rs --color never --crate-type bin --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=61964d0691c94c79 -C extra-filename=-61964d0691c94c79 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/build/khronos_api-61964d0691c94c79 -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling winapi-build v0.1.1
     Running `rustc --crate-name build /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/winapi-build-0.1.1/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=a8440db9d876b693 -C extra-filename=-a8440db9d876b693 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling void v1.0.2
     Running `rustc --crate-name void /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/void-1.0.2/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=5a7520383df378ce -C extra-filename=-5a7520383df378ce --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling num-traits v0.2.5
     Running `rustc --crate-name build_script_build /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/num-traits-0.2.5/build.rs --color never --crate-type bin --emit=dep-info,link -C opt-level=3 -C debuginfo=1 --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=19a7288b3d8c960b -C extra-filename=-19a7288b3d8c960b --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/build/num-traits-19a7288b3d8c960b -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling nix v0.11.0
     Running `rustc --crate-name build_script_build /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/nix-0.11.0/build.rs --color never --crate-type bin --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=e5a18ed32be6549f -C extra-filename=-e5a18ed32be6549f --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/build/nix-e5a18ed32be6549f -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling rand_core v0.2.1
     Running `rustc --crate-name rand_core /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/rand_core-0.2.1/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 --cfg 'feature="alloc"' --cfg 'feature="std"' -C metadata=a8fe2373ca1fa58b -C extra-filename=-a8fe2373ca1fa58b --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling libc v0.2.42
     Running `rustc --crate-name libc /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/libc-0.2.42/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 --cfg 'feature="default"' --cfg 'feature="use_std"' -C metadata=6c2c6bf40d5419d9 -C extra-filename=-6c2c6bf40d5419d9 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling cfg-if v0.1.4
     Running `rustc --crate-name cfg_if /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/cfg-if-0.1.4/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=fe27c5d8c7a48707 -C extra-filename=-fe27c5d8c7a48707 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling winapi v0.2.8
     Running `rustc --crate-name winapi /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/winapi-0.2.8/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=bb5d749ea78e0e78 -C extra-filename=-bb5d749ea78e0e78 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling unicode-xid v0.1.0
     Running `rustc --crate-name unicode_xid /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/unicode-xid-0.1.0/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 --cfg 'feature="default"' -C metadata=1ded1a2225a3a84a -C extra-filename=-1ded1a2225a3a84a --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling stable_deref_trait v1.1.1
     Running `rustc --crate-name stable_deref_trait /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/stable_deref_trait-1.1.1/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=ccc07e3ef9fff373 -C extra-filename=-ccc07e3ef9fff373 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling remove_dir_all v0.5.1
     Running `rustc --crate-name remove_dir_all /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/remove_dir_all-0.5.1/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=18a7817dee3344c9 -C extra-filename=-18a7817dee3344c9 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling bitflags v0.4.0
     Running `rustc --crate-name bitflags /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/bitflags-0.4.0/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=334e29bf2ada1349 -C extra-filename=-334e29bf2ada1349 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling ucd-util v0.1.1
     Running `rustc --crate-name ucd_util /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/ucd-util-0.1.1/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=375a007fa148c2c8 -C extra-filename=-375a007fa148c2c8 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling serde v1.0.70
     Running `rustc --crate-name build_script_build /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/serde-1.0.70/build.rs --color never --crate-type bin --emit=dep-info,link -C opt-level=3 -C debuginfo=1 --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=79bd29004ae992f9 -C extra-filename=-79bd29004ae992f9 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/build/serde-79bd29004ae992f9 -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling regex v1.0.2
     Running `rustc --crate-name build_script_build /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/regex-1.0.2/build.rs --color never --crate-type bin --emit=dep-info,link -C opt-level=3 -C debuginfo=1 --cfg 'feature="default"' --cfg 'feature="use_std"' -C metadata=e35c142ef319bddb -C extra-filename=-e35c142ef319bddb --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/build/regex-e35c142ef319bddb -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling byteorder v1.2.4
     Running `rustc --crate-name byteorder /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/byteorder-1.2.4/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=955a1e1d2ad9bed6 -C extra-filename=-955a1e1d2ad9bed6 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling bitflags v0.8.2
     Running `rustc --crate-name bitflags /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/bitflags-0.8.2/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=e3d56a369b0738f1 -C extra-filename=-e3d56a369b0738f1 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling bytes v0.3.0
     Running `rustc --crate-name bytes /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/bytes-0.3.0/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=e178575d3fad54f1 -C extra-filename=-e178575d3fad54f1 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling cgmath v0.16.1
     Running `rustc --crate-name build_script_build /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/cgmath-0.16.1/build.rs --color never --crate-type bin --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=a16c378e9bda0043 -C extra-filename=-a16c378e9bda0043 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/build/cgmath-a16c378e9bda0043 -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling unicode-width v0.1.5
     Running `rustc --crate-name unicode_width /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/unicode-width-0.1.5/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 --cfg 'feature="default"' -C metadata=6f2e9e7d8d9ab1bd -C extra-filename=-6f2e9e7d8d9ab1bd --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling same-file v1.0.2
     Running `rustc --crate-name same_file /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/same-file-1.0.2/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=b17d5a80938723be -C extra-filename=-b17d5a80938723be --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling slab v0.1.3
     Running `rustc --crate-name slab /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/slab-0.1.3/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=92bee6be102f7894 -C extra-filename=-92bee6be102f7894 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling percent-encoding v1.0.1
     Running `rustc --crate-name percent_encoding /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/percent-encoding-1.0.1/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=f8963d9833c5286a -C extra-filename=-f8963d9833c5286a --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling linked-hash-map v0.5.1
     Running `rustc --crate-name linked_hash_map /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/linked-hash-map-0.5.1/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=218fe4b40902f6e8 -C extra-filename=-218fe4b40902f6e8 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling slab v0.4.1
     Running `rustc --crate-name slab /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/slab-0.4.1/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=98a259947f1b5ff9 -C extra-filename=-98a259947f1b5ff9 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling lazycell v0.6.0
     Running `rustc --crate-name lazycell /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/lazycell-0.6.0/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=5d5444a147bc8036 -C extra-filename=-5d5444a147bc8036 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling utf8-ranges v1.0.0
     Running `rustc --crate-name utf8_ranges /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/utf8-ranges-1.0.0/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=2f64020a2d1657db -C extra-filename=-2f64020a2d1657db --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling quick-error v1.2.2
     Running `rustc --crate-name quick_error /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/quick-error-1.2.2/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=43e54f0b064d44c4 -C extra-filename=-43e54f0b064d44c4 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling foreign-types-shared v0.1.1
     Running `rustc --crate-name foreign_types_shared /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/foreign-types-shared-0.1.1/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=dde0c798c2cef212 -C extra-filename=-dde0c798c2cef212 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling ansi_term v0.11.0
     Running `rustc --crate-name ansi_term /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/ansi_term-0.11.0/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=46db61c599aeb258 -C extra-filename=-46db61c599aeb258 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling utf8parse v0.1.0
     Running `rustc --crate-name utf8parse /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/utf8parse-0.1.0/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=5b1e00b6059d0e58 -C extra-filename=-5b1e00b6059d0e58 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling termcolor v1.0.1
     Running `rustc --crate-name termcolor /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/termcolor-1.0.1/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=ac15f0340ec3a360 -C extra-filename=-ac15f0340ec3a360 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling lazycell v0.4.0
     Running `rustc --crate-name lazycell /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/lazycell-0.4.0/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=1ddaecfc4c369fb6 -C extra-filename=-1ddaecfc4c369fb6 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling vec_map v0.8.1
     Running `rustc --crate-name vec_map /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/vec_map-0.8.1/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=3dfe9863e683c192 -C extra-filename=-3dfe9863e683c192 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling itoa v0.4.2
     Running `rustc --crate-name itoa /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/itoa-0.4.2/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=8ea76054bc44dd6f -C extra-filename=-8ea76054bc44dd6f --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling strsim v0.7.0
     Running `rustc --crate-name strsim /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/strsim-0.7.0/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=988dbd7117d44355 -C extra-filename=-988dbd7117d44355 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling safemem v0.2.0
     Running `rustc --crate-name safemem /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/safemem-0.2.0/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=8f37eb3c97e90579 -C extra-filename=-8f37eb3c97e90579 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling bitflags v0.7.0
     Running `rustc --crate-name bitflags /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/bitflags-0.7.0/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=4e10a1e8eff996fc -C extra-filename=-4e10a1e8eff996fc --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling dtoa v0.4.3
     Running `rustc --crate-name dtoa /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/dtoa-0.4.3/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=61f2056a6f7ff151 -C extra-filename=-61f2056a6f7ff151 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling approx v0.1.1
     Running `rustc --crate-name approx /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/approx-0.1.1/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=55b3a2c95b3e0557 -C extra-filename=-55b3a2c95b3e0557 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling slab v0.3.0
     Running `rustc --crate-name slab /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/slab-0.3.0/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=32adf86086a83e35 -C extra-filename=-32adf86086a83e35 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling arraydeque v0.4.2
     Running `rustc --crate-name arraydeque /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/arraydeque-0.4.2/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=be24ca4680f01c99 -C extra-filename=-be24ca4680f01c99 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling xdg v2.1.0
     Running `rustc --crate-name xdg /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/xdg-2.1.0/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=74f9dc785b365d11 -C extra-filename=-74f9dc785b365d11 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling fnv v1.0.6
     Running `rustc --crate-name fnv /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/fnv-1.0.6/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=6760f1897cf46acf -C extra-filename=-6760f1897cf46acf --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling copypasta v0.0.1 (/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/copypasta)
     Running `rustc --crate-name copypasta copypasta/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=bbde531eee580d05 -C extra-filename=-bbde531eee580d05 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -C target-cpu=native`
   Compiling static_assertions v0.2.5
     Running `rustc --crate-name static_assertions /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/static_assertions-0.2.5/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=5e61eaf0fa5146b2 -C extra-filename=-5e61eaf0fa5146b2 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --cap-lints allow -C target-cpu=native`
   Compiling lazy_static v1.1.0
     Running `rustc --crate-name build_script_build /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/lazy_static-1.1.0/build.rs --color never --crate-type bin --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=2002d3e2d50d9590 -C extra-filename=-2002d3e2d50d9590 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/build/lazy_static-2002d3e2d50d9590 -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --extern version_check=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps/libversion_check-0bc5e548c1292f63.rlib --cap-lints allow -C target-cpu=native`
   Compiling xml-rs v0.7.0
     Running `rustc --crate-name xml /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/xml-rs-0.7.0/src/lib.rs --color never --crate-type lib --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=dc6d16502b42c0d8 -C extra-filename=-dc6d16502b42c0d8 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --extern bitflags=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps/libbitflags-3778311aea604ee8.rlib --cap-lints allow -C target-cpu=native`
   Compiling freetype-sys v0.4.0
     Running `rustc --crate-name build_script_build /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/freetype-sys-0.4.0/build.rs --color never --crate-type bin --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=1753fb3c2ded811e -C extra-filename=-1753fb3c2ded811e --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/build/freetype-sys-1753fb3c2ded811e -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --extern pkg_config=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps/libpkg_config-b8525fb3d171b67e.rlib --cap-lints allow -C target-cpu=native`
   Compiling x11-dl v2.18.3
     Running `rustc --crate-name build_script_build /home/efanzh/.cargo/registry/src/github.com-1ecc6299db9ec823/x11-dl-2.18.3/build.rs --color never --crate-type bin --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=b8bd0e13855f9f7b -C extra-filename=-b8bd0e13855f9f7b --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/build/x11-dl-b8bd0e13855f9f7b -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --extern pkg_config=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps/libpkg_config-b8525fb3d171b67e.rlib --cap-lints allow -C target-cpu=native`
   Compiling servo-fontconfig-sys v4.0.3 (https://github.com/jwilm/libfontconfig?branch=updated-2017-10-8#5c1845e1)
     Running `rustc --crate-name build_script_build /home/efanzh/.cargo/git/checkouts/libfontconfig-3d5e920c02c2e53f/5c1845e/build.rs --color never --crate-type bin --emit=dep-info,link -C opt-level=3 -C debuginfo=1 -C metadata=c62cf510297d50f6 -C extra-filename=-c62cf510297d50f6 --out-dir /home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/build/servo-fontconfig-sys-c62cf510297d50f6 -L dependency=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps --extern pkg_config=/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/deps/libpkg_config-b8525fb3d171b67e.rlib --cap-lints allow -C target-cpu=native`
     Running `/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/build/khronos_api-61964d0691c94c79/build-script-build`
error: failed to run custom build command for `khronos_api v2.2.0`
process didn't exit successfully: `/home/efanzh/.cache/makepkg/alacritty/src/alacritty-0.2.0/target/release/build/khronos_api-61964d0691c94c79/build-script-build` (signal: 4, SIGILL: illegal instruction)
warning: build failed, waiting for other jobs to finish...
error: build failed
==> ERROR: A failure occurred in build().
    Aborting...

@sanmai-NL
Copy link

Please file an issue at https://github.com/brendanzab/gl-rs/ for this. This issue has been solved. It may seem related to yours but it is independent.

@EFanZh
Copy link
Contributor

EFanZh commented Sep 21, 2018

I do think this is a Rust issue, or maybe an LLVM issue. My guess is that Rust translates native CPU type to haswell CPU type, and compiles with whatever instruction haswell CPU supports. But in fact, not all haswell CPU share the same instruction set. For example, it seems that my CPU does not support the AVX instruction set, but some other haswell CPU may support AVX, and LLVM may think that haswell means AVX support, so it compile with AVX support which fails on my machine.

I have tested the following commands to determine my CPU’s capability:

$ gcc -### -E -march=native -
Using built-in specs.
COLLECT_GCC=gcc
Target: x86_64-pc-linux-gnu
Configured with: /build/gcc/src/gcc/configure --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ --enable-shared --enable-threads=posix --enable-libmpx --with-system-zlib --with-isl --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-install-libiberty --with-linker-hash-style=gnu --enable-gnu-indirect-function --enable-multilib --disable-werror --enable-checking=release --enable-default-pie --enable-default-ssp --enable-cet=auto
Thread model: posix
gcc version 8.2.1 20180831 (GCC)
COLLECT_GCC_OPTIONS='-E' '-march=native'
 /usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/cc1 -E -quiet - "-march=haswell" -mmmx -mno-3dnow -msse -msse2 -msse3 -mssse3 -mno-sse4a -mcx16 -msahf -mmovbe -mno-aes -mno-sha -mpclmul -mpopcnt -mabm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-sgx -mno-bmi2 -mno-pconfig -mno-wbnoinvd -mno-tbm -mno-avx -mno-avx2 -msse4.2 -msse4.1 -mlzcnt -mno-rtm -mno-hle -mrdrnd -mno-f16c -mfsgsbase -mno-rdseed -mno-prfchw -mno-adx -mfxsr -mno-xsave -mno-xsaveopt -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mno-prefetchwt1 -mno-clflushopt -mno-xsavec -mno-xsaves -mno-avx512dq -mno-avx512bw -mno-avx512vl -mno-avx512ifma -mno-avx512vbmi -mno-avx5124fmaps -mno-avx5124vnniw -mno-clwb -mno-mwaitx -mno-clzero -mno-pku -mno-rdpid -mno-gfni -mno-shstk -mno-avx512vbmi2 -mno-avx512vnni -mno-vaes -mno-vpclmulqdq -mno-avx512bitalg -mno-movdiri -mno-movdir64b --param "l1-cache-size=32" --param "l1-cache-line-size=64" --param "l2-cache-size=3072" "-mtune=haswell"
COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/
LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/8.2.1/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-E' '-march=native'
$ clang -### -E -march=native -
clang version 6.0.1 (tags/RELEASE_601/final)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
 "/usr/bin/clang-6.0" "-cc1" "-triple" "x86_64-pc-linux-gnu" "-E" "-disable-free" "-disable-llvm-verifier" "-discard-value-names" "-main-file-name" "-" "-mrelocation-model" "pic" "-pic-level" "2" "-pic-is-pie" "-mthread-model" "posix" "-mdisable-fp-elim" "-fmath-errno" "-masm-verbose" "-mconstructor-aliases" "-munwind-tables" "-fuse-init-array" "-target-cpu" "haswell" "-target-feature" "+sse2" "-target-feature" "+cx16" "-target-feature" "-tbm" "-target-feature" "-avx512ifma" "-target-feature" "-gfni" "-target-feature" "-sha" "-target-feature" "-fma4" "-target-feature" "-vpclmulqdq" "-target-feature" "-prfchw" "-target-feature" "-bmi2" "-target-feature" "-xsavec" "-target-feature" "+fsgsbase" "-target-feature" "+popcnt" "-target-feature" "-aes" "-target-feature" "-avx512bitalg" "-target-feature" "-xsaves" "-target-feature" "-avx512er" "-target-feature" "-avx512vnni" "-target-feature" "-avx512vpopcntdq" "-target-feature" "-clwb" "-target-feature" "-avx512f" "-target-feature" "-clzero" "-target-feature" "-pku" "-target-feature" "+mmx" "-target-feature" "-lwp" "-target-feature" "-xop" "-target-feature" "-rdseed" "-target-feature" "-ibt" "-target-feature" "-sse4a" "-target-feature" "-avx512bw" "-target-feature" "-clflushopt" "-target-feature" "-xsave" "-target-feature" "-avx512vbmi2" "-target-feature" "-avx512vl" "-target-feature" "-avx512cd" "-target-feature" "-avx" "-target-feature" "-vaes" "-target-feature" "-rtm" "-target-feature" "-fma" "-target-feature" "-bmi" "-target-feature" "+rdrnd" "-target-feature" "-mwaitx" "-target-feature" "+sse4.1" "-target-feature" "+sse4.2" "-target-feature" "-avx2" "-target-feature" "+sse" "-target-feature" "+lzcnt" "-target-feature" "+pclmul" "-target-feature" "-prefetchwt1" "-target-feature" "-f16c" "-target-feature" "+ssse3" "-target-feature" "-sgx" "-target-feature" "-shstk" "-target-feature" "+cmov" "-target-feature" "-avx512vbmi" "-target-feature" "+movbe" "-target-feature" "-xsaveopt" "-target-feature" "-avx512dq" "-target-feature" "-adx" "-target-feature" "-avx512pf" "-target-feature" "+sse3" "-dwarf-column-info" "-debugger-tuning=gdb" "-resource-dir" "/usr/lib/clang/6.0.1" "-internal-isystem" "/usr/local/include" "-internal-isystem" "/usr/lib/clang/6.0.1/include" "-internal-externc-isystem" "/include" "-internal-externc-isystem" "/usr/include" "-fdebug-compilation-dir" "/home/efanzh" "-ferror-limit" "19" "-fmessage-length" "273" "-stack-protector" "2" "-fobjc-runtime=gcc" "-fdiagnostics-show-option" "-fcolor-diagnostics" "-o" "-" "-x" "c" "-"

@sanmai-NL
Copy link

sanmai-NL commented Sep 21, 2018

What does /proc/cpuinfo say? I propose you report all this in a new issue.

@EFanZh
Copy link
Contributor

EFanZh commented Sep 21, 2018

I have listed my CPU info above.

@sanmai-NL
Copy link

/proc/cpuinfo contains more information than that, I was specifically looking for the feature flags, but I now noticed they are in the bottom line of your output.

@nagisa
Copy link
Member

nagisa commented Sep 21, 2018

@EFanZh your bug is different from this ticket. #38218 and #48464 are more appropriate tickets for you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. P-high High priority regression-from-stable-to-nightly Performance or correctness regression from stable to nightly. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging a pull request may close this issue.