mk: Don't pass -msoft-float on mips-gnu - #34841

Merged
bors merged 1 commit into
rust-lang:masterfrom
alexcrichton:no-mips-soft-float
Jul 16, 2016
Merged

mk: Don't pass -msoft-float on mips-gnu#34841
bors merged 1 commit into
rust-lang:masterfrom
alexcrichton:no-mips-soft-float

Conversation

@alexcrichton

Copy link
Copy Markdown
Member

Soon the LLVM upgrade (#34743) will require an updated CMake installation, and
the easiest way to do this was to upgrade the Ubuntu version of the bots to
16.04. This in turn brings in a new MIPS compiler on the linux-cross builder,
which is now from the "official" ubuntu repositories. Unfortunately these
new compilers don't support compiling with the -msoft-float flag like we're
currently passing, causing compiles to fail.

This commit removes these flags as it's not clear why they're being passed, as
the mipsel targets also don't have it. At least if it's not supported by a
debian default compiler, perhaps it's not too relevant to support?

Soon the LLVM upgrade (rust-lang#34743) will require an updated CMake installation, and
the easiest way to do this was to upgrade the Ubuntu version of the bots to
16.04. This in turn brings in a new MIPS compiler on the linux-cross builder,
which is now from the "official" ubuntu repositories. Unfortunately these
new compilers don't support compiling with the `-msoft-float` flag like we're
currently passing, causing compiles to fail.
This commit removes these flags as it's not clear *why* they're being passed, as
the mipsel targets also don't have it. At least if it's not supported by a
debian default compiler, perhaps it's not too relevant to support?
@rust-highfive

Copy link
Copy Markdown
Contributor

r? @aturon

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

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

r? @brson

cc @japaric
cc @badboy

@rust-highfiverust-highfive assigned brson and unassigned aturonJul 15, 2016
@alexcrichtonalexcrichton mentioned this pull request Jul 15, 2016
3 tasks
@alexcrichton

Copy link
Copy Markdown
MemberAuthor

Confirmed that this passes our suite of auto bots in dev with the updated images the LLVM upgrade will use, just need to see if it passes our current auto bots...

@brson

Copy link
Copy Markdown
Contributor

@bors r+ p=1

@bors

bors commented Jul 15, 2016

Copy link
Copy Markdown
Collaborator

📌 Commit 5f43817 has been approved by brson

@bors

bors commented Jul 16, 2016

Copy link
Copy Markdown
Collaborator

⌛ Testing commit 5f43817 with merge 145f0ec...

bors added a commit that referenced this pull request Jul 16, 2016
mk: Don't pass -msoft-float on mips-gnu
Soon the LLVM upgrade (#34743) will require an updated CMake installation, and
the easiest way to do this was to upgrade the Ubuntu version of the bots to
16.04. This in turn brings in a new MIPS compiler on the linux-cross builder,
which is now from the "official" ubuntu repositories. Unfortunately these
new compilers don't support compiling with the `-msoft-float` flag like we're
currently passing, causing compiles to fail.
This commit removes these flags as it's not clear *why* they're being passed, as
the mipsel targets also don't have it. At least if it's not supported by a
debian default compiler, perhaps it's not too relevant to support?
@bors
bors merged commit 5f43817 into rust-lang:masterJul 16, 2016
@alexcrichton
alexcrichton deleted the no-mips-soft-float branch July 16, 2016 17:20
alexcrichton added a commit to alexcrichton/rust that referenced this pull request Jul 19, 2016
Right now two MIPS targets in the compiler, `mips-unknown-linux-{gnu,musl}` both
generate object files using the soft-float ABI through LLVM by default. This is
also expressed as the `-C soft-float` codegen option and otherwise isn't used
for any other target in the compiler. This option was added quite some time ago
(back in rust-lang#9617), and nowadays it's more appropriate to be done through a codegen
option.
This is motivated by rust-lang#34743 which necessitated an upgrade in the CMake
installation on our bots which necessitated an upgrade in the Ubuntu version
which invalidated the MIPS compilers we were using. The new MIPS compilers
(coming from Debian I believe) all have hard float enabled by default and soft
float support not built in. This meant that we couldn't upgrade the bots
until rust-lang#34841 landed because otherwise we would fail to compile C code as the
`-msoft-float` option wouldn't work.
Unfortunately, though, this means that once we upgrade the bots the C code we're
compiling will be compiled for hard float and the Rust code will be compiled
for soft float, a bad mismatch! This PR remedies the situation such that Rust
will compile with hard float as well.
If this lands it will likely produce broken nightlies for a day or two while we
get around to upgrading the bots because the current C toolchain only produces
soft-float binaries, and now rust will be hard-float. Hopefully, though, the
upgrade can go smoothly!
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Jul 21, 2016
rustc: Remove soft-float from MIPS targets
Right now two MIPS targets in the compiler, `mips-unknown-linux-{gnu,musl}` both
generate object files using the soft-float ABI through LLVM by default. This is
also expressed as the `-C soft-float` codegen option and otherwise isn't used
for any other target in the compiler. This option was added quite some time ago
(back in rust-lang#9617), and nowadays it's more appropriate to be done through a codegen
option.
This is motivated by rust-lang#34743 which necessitated an upgrade in the CMake
installation on our bots which necessitated an upgrade in the Ubuntu version
which invalidated the MIPS compilers we were using. The new MIPS compilers
(coming from Debian I believe) all have hard float enabled by default and soft
float support not built in. This meant that we couldn't upgrade the bots
until rust-lang#34841 landed because otherwise we would fail to compile C code as the
`-msoft-float` option wouldn't work.
Unfortunately, though, this means that once we upgrade the bots the C code we're
compiling will be compiled for hard float and the Rust code will be compiled
for soft float, a bad mismatch! This PR remedies the situation such that Rust
will compile with hard float as well.
If this lands it will likely produce broken nightlies for a day or two while we
get around to upgrading the bots because the current C toolchain only produces
soft-float binaries, and now rust will be hard-float. Hopefully, though, the
upgrade can go smoothly!
@alexcrichtonalexcrichton added the beta-nominated Nominated for backporting to the compiler in the beta channel. label Jul 27, 2016
@alexcrichton

Copy link
Copy Markdown
MemberAuthor

The update of the builder images has unfortunately caused the beta build to now fail due to this PR not being available:

cc1: warning: command line option '-ftarget=mips-linux-gnu' is valid for Java but not for C
In file included from /usr/mips-linux-gnu/include/features.h:391:0,
from /usr/mips-linux-gnu/include/limits.h:25,
from /usr/lib/gcc-cross/mips-linux-gnu/5/include-fixed/limits.h:168,
from /usr/lib/gcc-cross/mips-linux-gnu/5/include-fixed/syslimits.h:7,
from /usr/lib/gcc-cross/mips-linux-gnu/5/include-fixed/limits.h:34,
from /buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/src/compiler-rt/lib/builtins/int_lib.h:67,
from /buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/src/compiler-rt/lib/builtins/absvdi2.c:15:
/usr/mips-linux-gnu/include/gnu/stubs.h:8:33: fatal error: gnu/stubs-o32_soft.h: No such file or directory
compilation terminated.
make[4]: *** [lib/builtins/CMakeFiles/clang_rt.builtins-mips.dir/absvdi2.c.o] Error 1
make[4]: Leaving directory `/buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/obj/mips-unknown-linux-gnu/rt/compiler-rt'
make[3]: *** [lib/builtins/CMakeFiles/clang_rt.builtins-mips.dir/all] Error 2
make[3]: Leaving directory `/buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/obj/mips-unknown-linux-gnu/rt/compiler-rt'
make[2]: *** [lib/builtins/CMakeFiles/clang_rt.builtins-mips.dir/rule] Error 2
make[1]: *** [clang_rt.builtins-mips] Error 2make[2]: Leaving directory `/buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/obj/mips-unknown-linux-gnu/rt/compiler-rt'
make[1]: Leaving directory `/buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/obj/mips-unknown-linux-gnu/rt/compiler-rt'
make: *** [mips-unknown-linux-gnu/rt/libcompiler-rt.a] Error 2

As a result I'm nominating for beta and tagging beta-accepted as well to unbreak the build

@alexcrichtonalexcrichton added the beta-accepted Accepted for backporting to the compiler in the beta channel. label Jul 27, 2016
brson added a commit that referenced this pull request Jul 27, 2016
@brsonbrson removed the beta-nominated Nominated for backporting to the compiler in the beta channel. label Jul 27, 2016
pmatos pushed a commit to LinkiTools/rust that referenced this pull request Sep 27, 2016
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

beta-acceptedAccepted for backporting to the compiler in the beta channel.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@alexcrichton@rust-highfive@brson@bors@aturon
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

mk: Don't pass -msoft-float on mips-gnu - #34841

Merged
bors merged 1 commit into
rust-lang:masterfrom
alexcrichton:no-mips-soft-float
Jul 16, 2016
Merged

mk: Don't pass -msoft-float on mips-gnu#34841
bors merged 1 commit into
rust-lang:masterfrom
alexcrichton:no-mips-soft-float

Conversation

@alexcrichton

Copy link
Copy Markdown
Member

Soon the LLVM upgrade (#34743) will require an updated CMake installation, and
the easiest way to do this was to upgrade the Ubuntu version of the bots to
16.04. This in turn brings in a new MIPS compiler on the linux-cross builder,
which is now from the "official" ubuntu repositories. Unfortunately these
new compilers don't support compiling with the -msoft-float flag like we're
currently passing, causing compiles to fail.

This commit removes these flags as it's not clear why they're being passed, as
the mipsel targets also don't have it. At least if it's not supported by a
debian default compiler, perhaps it's not too relevant to support?

Soon the LLVM upgrade (rust-lang#34743) will require an updated CMake installation, and
the easiest way to do this was to upgrade the Ubuntu version of the bots to
16.04. This in turn brings in a new MIPS compiler on the linux-cross builder,
which is now from the "official" ubuntu repositories. Unfortunately these
new compilers don't support compiling with the `-msoft-float` flag like we're
currently passing, causing compiles to fail.
This commit removes these flags as it's not clear *why* they're being passed, as
the mipsel targets also don't have it. At least if it's not supported by a
debian default compiler, perhaps it's not too relevant to support?
@rust-highfive

Copy link
Copy Markdown
Contributor

r? @aturon

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

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

r? @brson

cc @japaric
cc @badboy

@rust-highfiverust-highfive assigned brson and unassigned aturonJul 15, 2016
@alexcrichtonalexcrichton mentioned this pull request Jul 15, 2016
3 tasks
@alexcrichton

Copy link
Copy Markdown
MemberAuthor

Confirmed that this passes our suite of auto bots in dev with the updated images the LLVM upgrade will use, just need to see if it passes our current auto bots...

@brson

Copy link
Copy Markdown
Contributor

@bors r+ p=1

@bors

bors commented Jul 15, 2016

Copy link
Copy Markdown
Collaborator

📌 Commit 5f43817 has been approved by brson

@bors

bors commented Jul 16, 2016

Copy link
Copy Markdown
Collaborator

⌛ Testing commit 5f43817 with merge 145f0ec...

bors added a commit that referenced this pull request Jul 16, 2016
mk: Don't pass -msoft-float on mips-gnu
Soon the LLVM upgrade (#34743) will require an updated CMake installation, and
the easiest way to do this was to upgrade the Ubuntu version of the bots to
16.04. This in turn brings in a new MIPS compiler on the linux-cross builder,
which is now from the "official" ubuntu repositories. Unfortunately these
new compilers don't support compiling with the `-msoft-float` flag like we're
currently passing, causing compiles to fail.
This commit removes these flags as it's not clear *why* they're being passed, as
the mipsel targets also don't have it. At least if it's not supported by a
debian default compiler, perhaps it's not too relevant to support?
@bors
bors merged commit 5f43817 into rust-lang:masterJul 16, 2016
@alexcrichton
alexcrichton deleted the no-mips-soft-float branch July 16, 2016 17:20
alexcrichton added a commit to alexcrichton/rust that referenced this pull request Jul 19, 2016
Right now two MIPS targets in the compiler, `mips-unknown-linux-{gnu,musl}` both
generate object files using the soft-float ABI through LLVM by default. This is
also expressed as the `-C soft-float` codegen option and otherwise isn't used
for any other target in the compiler. This option was added quite some time ago
(back in rust-lang#9617), and nowadays it's more appropriate to be done through a codegen
option.
This is motivated by rust-lang#34743 which necessitated an upgrade in the CMake
installation on our bots which necessitated an upgrade in the Ubuntu version
which invalidated the MIPS compilers we were using. The new MIPS compilers
(coming from Debian I believe) all have hard float enabled by default and soft
float support not built in. This meant that we couldn't upgrade the bots
until rust-lang#34841 landed because otherwise we would fail to compile C code as the
`-msoft-float` option wouldn't work.
Unfortunately, though, this means that once we upgrade the bots the C code we're
compiling will be compiled for hard float and the Rust code will be compiled
for soft float, a bad mismatch! This PR remedies the situation such that Rust
will compile with hard float as well.
If this lands it will likely produce broken nightlies for a day or two while we
get around to upgrading the bots because the current C toolchain only produces
soft-float binaries, and now rust will be hard-float. Hopefully, though, the
upgrade can go smoothly!
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Jul 21, 2016
rustc: Remove soft-float from MIPS targets
Right now two MIPS targets in the compiler, `mips-unknown-linux-{gnu,musl}` both
generate object files using the soft-float ABI through LLVM by default. This is
also expressed as the `-C soft-float` codegen option and otherwise isn't used
for any other target in the compiler. This option was added quite some time ago
(back in rust-lang#9617), and nowadays it's more appropriate to be done through a codegen
option.
This is motivated by rust-lang#34743 which necessitated an upgrade in the CMake
installation on our bots which necessitated an upgrade in the Ubuntu version
which invalidated the MIPS compilers we were using. The new MIPS compilers
(coming from Debian I believe) all have hard float enabled by default and soft
float support not built in. This meant that we couldn't upgrade the bots
until rust-lang#34841 landed because otherwise we would fail to compile C code as the
`-msoft-float` option wouldn't work.
Unfortunately, though, this means that once we upgrade the bots the C code we're
compiling will be compiled for hard float and the Rust code will be compiled
for soft float, a bad mismatch! This PR remedies the situation such that Rust
will compile with hard float as well.
If this lands it will likely produce broken nightlies for a day or two while we
get around to upgrading the bots because the current C toolchain only produces
soft-float binaries, and now rust will be hard-float. Hopefully, though, the
upgrade can go smoothly!
@alexcrichtonalexcrichton added the beta-nominated Nominated for backporting to the compiler in the beta channel. label Jul 27, 2016
@alexcrichton

Copy link
Copy Markdown
MemberAuthor

The update of the builder images has unfortunately caused the beta build to now fail due to this PR not being available:

cc1: warning: command line option '-ftarget=mips-linux-gnu' is valid for Java but not for C
In file included from /usr/mips-linux-gnu/include/features.h:391:0,
from /usr/mips-linux-gnu/include/limits.h:25,
from /usr/lib/gcc-cross/mips-linux-gnu/5/include-fixed/limits.h:168,
from /usr/lib/gcc-cross/mips-linux-gnu/5/include-fixed/syslimits.h:7,
from /usr/lib/gcc-cross/mips-linux-gnu/5/include-fixed/limits.h:34,
from /buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/src/compiler-rt/lib/builtins/int_lib.h:67,
from /buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/src/compiler-rt/lib/builtins/absvdi2.c:15:
/usr/mips-linux-gnu/include/gnu/stubs.h:8:33: fatal error: gnu/stubs-o32_soft.h: No such file or directory
compilation terminated.
make[4]: *** [lib/builtins/CMakeFiles/clang_rt.builtins-mips.dir/absvdi2.c.o] Error 1
make[4]: Leaving directory `/buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/obj/mips-unknown-linux-gnu/rt/compiler-rt'
make[3]: *** [lib/builtins/CMakeFiles/clang_rt.builtins-mips.dir/all] Error 2
make[3]: Leaving directory `/buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/obj/mips-unknown-linux-gnu/rt/compiler-rt'
make[2]: *** [lib/builtins/CMakeFiles/clang_rt.builtins-mips.dir/rule] Error 2
make[1]: *** [clang_rt.builtins-mips] Error 2make[2]: Leaving directory `/buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/obj/mips-unknown-linux-gnu/rt/compiler-rt'
make[1]: Leaving directory `/buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/obj/mips-unknown-linux-gnu/rt/compiler-rt'
make: *** [mips-unknown-linux-gnu/rt/libcompiler-rt.a] Error 2

As a result I'm nominating for beta and tagging beta-accepted as well to unbreak the build

@alexcrichtonalexcrichton added the beta-accepted Accepted for backporting to the compiler in the beta channel. label Jul 27, 2016
brson added a commit that referenced this pull request Jul 27, 2016
@brsonbrson removed the beta-nominated Nominated for backporting to the compiler in the beta channel. label Jul 27, 2016
pmatos pushed a commit to LinkiTools/rust that referenced this pull request Sep 27, 2016
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

beta-acceptedAccepted for backporting to the compiler in the beta channel.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@alexcrichton@rust-highfive@brson@bors@aturon
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

mk: Don't pass -msoft-float on mips-gnu - #34841

Merged
bors merged 1 commit into
rust-lang:masterfrom
alexcrichton:no-mips-soft-float
Jul 16, 2016
Merged

mk: Don't pass -msoft-float on mips-gnu#34841
bors merged 1 commit into
rust-lang:masterfrom
alexcrichton:no-mips-soft-float

Conversation

@alexcrichton

Copy link
Copy Markdown
Member

Soon the LLVM upgrade (#34743) will require an updated CMake installation, and
the easiest way to do this was to upgrade the Ubuntu version of the bots to
16.04. This in turn brings in a new MIPS compiler on the linux-cross builder,
which is now from the "official" ubuntu repositories. Unfortunately these
new compilers don't support compiling with the -msoft-float flag like we're
currently passing, causing compiles to fail.

This commit removes these flags as it's not clear why they're being passed, as
the mipsel targets also don't have it. At least if it's not supported by a
debian default compiler, perhaps it's not too relevant to support?

Soon the LLVM upgrade (rust-lang#34743) will require an updated CMake installation, and
the easiest way to do this was to upgrade the Ubuntu version of the bots to
16.04. This in turn brings in a new MIPS compiler on the linux-cross builder,
which is now from the "official" ubuntu repositories. Unfortunately these
new compilers don't support compiling with the `-msoft-float` flag like we're
currently passing, causing compiles to fail.
This commit removes these flags as it's not clear *why* they're being passed, as
the mipsel targets also don't have it. At least if it's not supported by a
debian default compiler, perhaps it's not too relevant to support?
@rust-highfive

Copy link
Copy Markdown
Contributor

r? @aturon

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

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

r? @brson

cc @japaric
cc @badboy

@rust-highfiverust-highfive assigned brson and unassigned aturonJul 15, 2016
@alexcrichtonalexcrichton mentioned this pull request Jul 15, 2016
3 tasks
@alexcrichton

Copy link
Copy Markdown
MemberAuthor

Confirmed that this passes our suite of auto bots in dev with the updated images the LLVM upgrade will use, just need to see if it passes our current auto bots...

@brson

Copy link
Copy Markdown
Contributor

@bors r+ p=1

@bors

bors commented Jul 15, 2016

Copy link
Copy Markdown
Collaborator

📌 Commit 5f43817 has been approved by brson

@bors

bors commented Jul 16, 2016

Copy link
Copy Markdown
Collaborator

⌛ Testing commit 5f43817 with merge 145f0ec...

bors added a commit that referenced this pull request Jul 16, 2016
mk: Don't pass -msoft-float on mips-gnu
Soon the LLVM upgrade (#34743) will require an updated CMake installation, and
the easiest way to do this was to upgrade the Ubuntu version of the bots to
16.04. This in turn brings in a new MIPS compiler on the linux-cross builder,
which is now from the "official" ubuntu repositories. Unfortunately these
new compilers don't support compiling with the `-msoft-float` flag like we're
currently passing, causing compiles to fail.
This commit removes these flags as it's not clear *why* they're being passed, as
the mipsel targets also don't have it. At least if it's not supported by a
debian default compiler, perhaps it's not too relevant to support?
@bors
bors merged commit 5f43817 into rust-lang:masterJul 16, 2016
@alexcrichton
alexcrichton deleted the no-mips-soft-float branch July 16, 2016 17:20
alexcrichton added a commit to alexcrichton/rust that referenced this pull request Jul 19, 2016
Right now two MIPS targets in the compiler, `mips-unknown-linux-{gnu,musl}` both
generate object files using the soft-float ABI through LLVM by default. This is
also expressed as the `-C soft-float` codegen option and otherwise isn't used
for any other target in the compiler. This option was added quite some time ago
(back in rust-lang#9617), and nowadays it's more appropriate to be done through a codegen
option.
This is motivated by rust-lang#34743 which necessitated an upgrade in the CMake
installation on our bots which necessitated an upgrade in the Ubuntu version
which invalidated the MIPS compilers we were using. The new MIPS compilers
(coming from Debian I believe) all have hard float enabled by default and soft
float support not built in. This meant that we couldn't upgrade the bots
until rust-lang#34841 landed because otherwise we would fail to compile C code as the
`-msoft-float` option wouldn't work.
Unfortunately, though, this means that once we upgrade the bots the C code we're
compiling will be compiled for hard float and the Rust code will be compiled
for soft float, a bad mismatch! This PR remedies the situation such that Rust
will compile with hard float as well.
If this lands it will likely produce broken nightlies for a day or two while we
get around to upgrading the bots because the current C toolchain only produces
soft-float binaries, and now rust will be hard-float. Hopefully, though, the
upgrade can go smoothly!
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Jul 21, 2016
rustc: Remove soft-float from MIPS targets
Right now two MIPS targets in the compiler, `mips-unknown-linux-{gnu,musl}` both
generate object files using the soft-float ABI through LLVM by default. This is
also expressed as the `-C soft-float` codegen option and otherwise isn't used
for any other target in the compiler. This option was added quite some time ago
(back in rust-lang#9617), and nowadays it's more appropriate to be done through a codegen
option.
This is motivated by rust-lang#34743 which necessitated an upgrade in the CMake
installation on our bots which necessitated an upgrade in the Ubuntu version
which invalidated the MIPS compilers we were using. The new MIPS compilers
(coming from Debian I believe) all have hard float enabled by default and soft
float support not built in. This meant that we couldn't upgrade the bots
until rust-lang#34841 landed because otherwise we would fail to compile C code as the
`-msoft-float` option wouldn't work.
Unfortunately, though, this means that once we upgrade the bots the C code we're
compiling will be compiled for hard float and the Rust code will be compiled
for soft float, a bad mismatch! This PR remedies the situation such that Rust
will compile with hard float as well.
If this lands it will likely produce broken nightlies for a day or two while we
get around to upgrading the bots because the current C toolchain only produces
soft-float binaries, and now rust will be hard-float. Hopefully, though, the
upgrade can go smoothly!
@alexcrichtonalexcrichton added the beta-nominated Nominated for backporting to the compiler in the beta channel. label Jul 27, 2016
@alexcrichton

Copy link
Copy Markdown
MemberAuthor

The update of the builder images has unfortunately caused the beta build to now fail due to this PR not being available:

cc1: warning: command line option '-ftarget=mips-linux-gnu' is valid for Java but not for C
In file included from /usr/mips-linux-gnu/include/features.h:391:0,
from /usr/mips-linux-gnu/include/limits.h:25,
from /usr/lib/gcc-cross/mips-linux-gnu/5/include-fixed/limits.h:168,
from /usr/lib/gcc-cross/mips-linux-gnu/5/include-fixed/syslimits.h:7,
from /usr/lib/gcc-cross/mips-linux-gnu/5/include-fixed/limits.h:34,
from /buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/src/compiler-rt/lib/builtins/int_lib.h:67,
from /buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/src/compiler-rt/lib/builtins/absvdi2.c:15:
/usr/mips-linux-gnu/include/gnu/stubs.h:8:33: fatal error: gnu/stubs-o32_soft.h: No such file or directory
compilation terminated.
make[4]: *** [lib/builtins/CMakeFiles/clang_rt.builtins-mips.dir/absvdi2.c.o] Error 1
make[4]: Leaving directory `/buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/obj/mips-unknown-linux-gnu/rt/compiler-rt'
make[3]: *** [lib/builtins/CMakeFiles/clang_rt.builtins-mips.dir/all] Error 2
make[3]: Leaving directory `/buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/obj/mips-unknown-linux-gnu/rt/compiler-rt'
make[2]: *** [lib/builtins/CMakeFiles/clang_rt.builtins-mips.dir/rule] Error 2
make[1]: *** [clang_rt.builtins-mips] Error 2make[2]: Leaving directory `/buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/obj/mips-unknown-linux-gnu/rt/compiler-rt'
make[1]: Leaving directory `/buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/obj/mips-unknown-linux-gnu/rt/compiler-rt'
make: *** [mips-unknown-linux-gnu/rt/libcompiler-rt.a] Error 2

As a result I'm nominating for beta and tagging beta-accepted as well to unbreak the build

@alexcrichtonalexcrichton added the beta-accepted Accepted for backporting to the compiler in the beta channel. label Jul 27, 2016
brson added a commit that referenced this pull request Jul 27, 2016
@brsonbrson removed the beta-nominated Nominated for backporting to the compiler in the beta channel. label Jul 27, 2016
pmatos pushed a commit to LinkiTools/rust that referenced this pull request Sep 27, 2016
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

beta-acceptedAccepted for backporting to the compiler in the beta channel.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@alexcrichton@rust-highfive@brson@bors@aturon
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

mk: Don't pass -msoft-float on mips-gnu - #34841

Merged
bors merged 1 commit into
rust-lang:masterfrom
alexcrichton:no-mips-soft-float
Jul 16, 2016
Merged

mk: Don't pass -msoft-float on mips-gnu#34841
bors merged 1 commit into
rust-lang:masterfrom
alexcrichton:no-mips-soft-float

Conversation

@alexcrichton

Copy link
Copy Markdown
Member

Soon the LLVM upgrade (#34743) will require an updated CMake installation, and
the easiest way to do this was to upgrade the Ubuntu version of the bots to
16.04. This in turn brings in a new MIPS compiler on the linux-cross builder,
which is now from the "official" ubuntu repositories. Unfortunately these
new compilers don't support compiling with the -msoft-float flag like we're
currently passing, causing compiles to fail.

This commit removes these flags as it's not clear why they're being passed, as
the mipsel targets also don't have it. At least if it's not supported by a
debian default compiler, perhaps it's not too relevant to support?

Soon the LLVM upgrade (rust-lang#34743) will require an updated CMake installation, and
the easiest way to do this was to upgrade the Ubuntu version of the bots to
16.04. This in turn brings in a new MIPS compiler on the linux-cross builder,
which is now from the "official" ubuntu repositories. Unfortunately these
new compilers don't support compiling with the `-msoft-float` flag like we're
currently passing, causing compiles to fail.
This commit removes these flags as it's not clear *why* they're being passed, as
the mipsel targets also don't have it. At least if it's not supported by a
debian default compiler, perhaps it's not too relevant to support?
@rust-highfive

Copy link
Copy Markdown
Contributor

r? @aturon

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

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

r? @brson

cc @japaric
cc @badboy

@rust-highfiverust-highfive assigned brson and unassigned aturonJul 15, 2016
@alexcrichtonalexcrichton mentioned this pull request Jul 15, 2016
3 tasks
@alexcrichton

Copy link
Copy Markdown
MemberAuthor

Confirmed that this passes our suite of auto bots in dev with the updated images the LLVM upgrade will use, just need to see if it passes our current auto bots...

@brson

Copy link
Copy Markdown
Contributor

@bors r+ p=1

@bors

bors commented Jul 15, 2016

Copy link
Copy Markdown
Collaborator

📌 Commit 5f43817 has been approved by brson

@bors

bors commented Jul 16, 2016

Copy link
Copy Markdown
Collaborator

⌛ Testing commit 5f43817 with merge 145f0ec...

bors added a commit that referenced this pull request Jul 16, 2016
mk: Don't pass -msoft-float on mips-gnu
Soon the LLVM upgrade (#34743) will require an updated CMake installation, and
the easiest way to do this was to upgrade the Ubuntu version of the bots to
16.04. This in turn brings in a new MIPS compiler on the linux-cross builder,
which is now from the "official" ubuntu repositories. Unfortunately these
new compilers don't support compiling with the `-msoft-float` flag like we're
currently passing, causing compiles to fail.
This commit removes these flags as it's not clear *why* they're being passed, as
the mipsel targets also don't have it. At least if it's not supported by a
debian default compiler, perhaps it's not too relevant to support?
@bors
bors merged commit 5f43817 into rust-lang:masterJul 16, 2016
@alexcrichton
alexcrichton deleted the no-mips-soft-float branch July 16, 2016 17:20
alexcrichton added a commit to alexcrichton/rust that referenced this pull request Jul 19, 2016
Right now two MIPS targets in the compiler, `mips-unknown-linux-{gnu,musl}` both
generate object files using the soft-float ABI through LLVM by default. This is
also expressed as the `-C soft-float` codegen option and otherwise isn't used
for any other target in the compiler. This option was added quite some time ago
(back in rust-lang#9617), and nowadays it's more appropriate to be done through a codegen
option.
This is motivated by rust-lang#34743 which necessitated an upgrade in the CMake
installation on our bots which necessitated an upgrade in the Ubuntu version
which invalidated the MIPS compilers we were using. The new MIPS compilers
(coming from Debian I believe) all have hard float enabled by default and soft
float support not built in. This meant that we couldn't upgrade the bots
until rust-lang#34841 landed because otherwise we would fail to compile C code as the
`-msoft-float` option wouldn't work.
Unfortunately, though, this means that once we upgrade the bots the C code we're
compiling will be compiled for hard float and the Rust code will be compiled
for soft float, a bad mismatch! This PR remedies the situation such that Rust
will compile with hard float as well.
If this lands it will likely produce broken nightlies for a day or two while we
get around to upgrading the bots because the current C toolchain only produces
soft-float binaries, and now rust will be hard-float. Hopefully, though, the
upgrade can go smoothly!
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Jul 21, 2016
rustc: Remove soft-float from MIPS targets
Right now two MIPS targets in the compiler, `mips-unknown-linux-{gnu,musl}` both
generate object files using the soft-float ABI through LLVM by default. This is
also expressed as the `-C soft-float` codegen option and otherwise isn't used
for any other target in the compiler. This option was added quite some time ago
(back in rust-lang#9617), and nowadays it's more appropriate to be done through a codegen
option.
This is motivated by rust-lang#34743 which necessitated an upgrade in the CMake
installation on our bots which necessitated an upgrade in the Ubuntu version
which invalidated the MIPS compilers we were using. The new MIPS compilers
(coming from Debian I believe) all have hard float enabled by default and soft
float support not built in. This meant that we couldn't upgrade the bots
until rust-lang#34841 landed because otherwise we would fail to compile C code as the
`-msoft-float` option wouldn't work.
Unfortunately, though, this means that once we upgrade the bots the C code we're
compiling will be compiled for hard float and the Rust code will be compiled
for soft float, a bad mismatch! This PR remedies the situation such that Rust
will compile with hard float as well.
If this lands it will likely produce broken nightlies for a day or two while we
get around to upgrading the bots because the current C toolchain only produces
soft-float binaries, and now rust will be hard-float. Hopefully, though, the
upgrade can go smoothly!
@alexcrichtonalexcrichton added the beta-nominated Nominated for backporting to the compiler in the beta channel. label Jul 27, 2016
@alexcrichton

Copy link
Copy Markdown
MemberAuthor

The update of the builder images has unfortunately caused the beta build to now fail due to this PR not being available:

cc1: warning: command line option '-ftarget=mips-linux-gnu' is valid for Java but not for C
In file included from /usr/mips-linux-gnu/include/features.h:391:0,
from /usr/mips-linux-gnu/include/limits.h:25,
from /usr/lib/gcc-cross/mips-linux-gnu/5/include-fixed/limits.h:168,
from /usr/lib/gcc-cross/mips-linux-gnu/5/include-fixed/syslimits.h:7,
from /usr/lib/gcc-cross/mips-linux-gnu/5/include-fixed/limits.h:34,
from /buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/src/compiler-rt/lib/builtins/int_lib.h:67,
from /buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/src/compiler-rt/lib/builtins/absvdi2.c:15:
/usr/mips-linux-gnu/include/gnu/stubs.h:8:33: fatal error: gnu/stubs-o32_soft.h: No such file or directory
compilation terminated.
make[4]: *** [lib/builtins/CMakeFiles/clang_rt.builtins-mips.dir/absvdi2.c.o] Error 1
make[4]: Leaving directory `/buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/obj/mips-unknown-linux-gnu/rt/compiler-rt'
make[3]: *** [lib/builtins/CMakeFiles/clang_rt.builtins-mips.dir/all] Error 2
make[3]: Leaving directory `/buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/obj/mips-unknown-linux-gnu/rt/compiler-rt'
make[2]: *** [lib/builtins/CMakeFiles/clang_rt.builtins-mips.dir/rule] Error 2
make[1]: *** [clang_rt.builtins-mips] Error 2make[2]: Leaving directory `/buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/obj/mips-unknown-linux-gnu/rt/compiler-rt'
make[1]: Leaving directory `/buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/obj/mips-unknown-linux-gnu/rt/compiler-rt'
make: *** [mips-unknown-linux-gnu/rt/libcompiler-rt.a] Error 2

As a result I'm nominating for beta and tagging beta-accepted as well to unbreak the build

@alexcrichtonalexcrichton added the beta-accepted Accepted for backporting to the compiler in the beta channel. label Jul 27, 2016
brson added a commit that referenced this pull request Jul 27, 2016
@brsonbrson removed the beta-nominated Nominated for backporting to the compiler in the beta channel. label Jul 27, 2016
pmatos pushed a commit to LinkiTools/rust that referenced this pull request Sep 27, 2016
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

beta-acceptedAccepted for backporting to the compiler in the beta channel.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@alexcrichton@rust-highfive@brson@bors@aturon
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

mk: Don't pass -msoft-float on mips-gnu - #34841

Merged
bors merged 1 commit into
rust-lang:masterfrom
alexcrichton:no-mips-soft-float
Jul 16, 2016
Merged

mk: Don't pass -msoft-float on mips-gnu#34841
bors merged 1 commit into
rust-lang:masterfrom
alexcrichton:no-mips-soft-float

Conversation

@alexcrichton

Copy link
Copy Markdown
Member

Soon the LLVM upgrade (#34743) will require an updated CMake installation, and
the easiest way to do this was to upgrade the Ubuntu version of the bots to
16.04. This in turn brings in a new MIPS compiler on the linux-cross builder,
which is now from the "official" ubuntu repositories. Unfortunately these
new compilers don't support compiling with the -msoft-float flag like we're
currently passing, causing compiles to fail.

This commit removes these flags as it's not clear why they're being passed, as
the mipsel targets also don't have it. At least if it's not supported by a
debian default compiler, perhaps it's not too relevant to support?

Soon the LLVM upgrade (rust-lang#34743) will require an updated CMake installation, and
the easiest way to do this was to upgrade the Ubuntu version of the bots to
16.04. This in turn brings in a new MIPS compiler on the linux-cross builder,
which is now from the "official" ubuntu repositories. Unfortunately these
new compilers don't support compiling with the `-msoft-float` flag like we're
currently passing, causing compiles to fail.
This commit removes these flags as it's not clear *why* they're being passed, as
the mipsel targets also don't have it. At least if it's not supported by a
debian default compiler, perhaps it's not too relevant to support?
@rust-highfive

Copy link
Copy Markdown
Contributor

r? @aturon

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

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

r? @brson

cc @japaric
cc @badboy

@rust-highfiverust-highfive assigned brson and unassigned aturonJul 15, 2016
@alexcrichtonalexcrichton mentioned this pull request Jul 15, 2016
3 tasks
@alexcrichton

Copy link
Copy Markdown
MemberAuthor

Confirmed that this passes our suite of auto bots in dev with the updated images the LLVM upgrade will use, just need to see if it passes our current auto bots...

@brson

Copy link
Copy Markdown
Contributor

@bors r+ p=1

@bors

bors commented Jul 15, 2016

Copy link
Copy Markdown
Collaborator

📌 Commit 5f43817 has been approved by brson

@bors

bors commented Jul 16, 2016

Copy link
Copy Markdown
Collaborator

⌛ Testing commit 5f43817 with merge 145f0ec...

bors added a commit that referenced this pull request Jul 16, 2016
mk: Don't pass -msoft-float on mips-gnu
Soon the LLVM upgrade (#34743) will require an updated CMake installation, and
the easiest way to do this was to upgrade the Ubuntu version of the bots to
16.04. This in turn brings in a new MIPS compiler on the linux-cross builder,
which is now from the "official" ubuntu repositories. Unfortunately these
new compilers don't support compiling with the `-msoft-float` flag like we're
currently passing, causing compiles to fail.
This commit removes these flags as it's not clear *why* they're being passed, as
the mipsel targets also don't have it. At least if it's not supported by a
debian default compiler, perhaps it's not too relevant to support?
@bors
bors merged commit 5f43817 into rust-lang:masterJul 16, 2016
@alexcrichton
alexcrichton deleted the no-mips-soft-float branch July 16, 2016 17:20
alexcrichton added a commit to alexcrichton/rust that referenced this pull request Jul 19, 2016
Right now two MIPS targets in the compiler, `mips-unknown-linux-{gnu,musl}` both
generate object files using the soft-float ABI through LLVM by default. This is
also expressed as the `-C soft-float` codegen option and otherwise isn't used
for any other target in the compiler. This option was added quite some time ago
(back in rust-lang#9617), and nowadays it's more appropriate to be done through a codegen
option.
This is motivated by rust-lang#34743 which necessitated an upgrade in the CMake
installation on our bots which necessitated an upgrade in the Ubuntu version
which invalidated the MIPS compilers we were using. The new MIPS compilers
(coming from Debian I believe) all have hard float enabled by default and soft
float support not built in. This meant that we couldn't upgrade the bots
until rust-lang#34841 landed because otherwise we would fail to compile C code as the
`-msoft-float` option wouldn't work.
Unfortunately, though, this means that once we upgrade the bots the C code we're
compiling will be compiled for hard float and the Rust code will be compiled
for soft float, a bad mismatch! This PR remedies the situation such that Rust
will compile with hard float as well.
If this lands it will likely produce broken nightlies for a day or two while we
get around to upgrading the bots because the current C toolchain only produces
soft-float binaries, and now rust will be hard-float. Hopefully, though, the
upgrade can go smoothly!
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Jul 21, 2016
rustc: Remove soft-float from MIPS targets
Right now two MIPS targets in the compiler, `mips-unknown-linux-{gnu,musl}` both
generate object files using the soft-float ABI through LLVM by default. This is
also expressed as the `-C soft-float` codegen option and otherwise isn't used
for any other target in the compiler. This option was added quite some time ago
(back in rust-lang#9617), and nowadays it's more appropriate to be done through a codegen
option.
This is motivated by rust-lang#34743 which necessitated an upgrade in the CMake
installation on our bots which necessitated an upgrade in the Ubuntu version
which invalidated the MIPS compilers we were using. The new MIPS compilers
(coming from Debian I believe) all have hard float enabled by default and soft
float support not built in. This meant that we couldn't upgrade the bots
until rust-lang#34841 landed because otherwise we would fail to compile C code as the
`-msoft-float` option wouldn't work.
Unfortunately, though, this means that once we upgrade the bots the C code we're
compiling will be compiled for hard float and the Rust code will be compiled
for soft float, a bad mismatch! This PR remedies the situation such that Rust
will compile with hard float as well.
If this lands it will likely produce broken nightlies for a day or two while we
get around to upgrading the bots because the current C toolchain only produces
soft-float binaries, and now rust will be hard-float. Hopefully, though, the
upgrade can go smoothly!
@alexcrichtonalexcrichton added the beta-nominated Nominated for backporting to the compiler in the beta channel. label Jul 27, 2016
@alexcrichton

Copy link
Copy Markdown
MemberAuthor

The update of the builder images has unfortunately caused the beta build to now fail due to this PR not being available:

cc1: warning: command line option '-ftarget=mips-linux-gnu' is valid for Java but not for C
In file included from /usr/mips-linux-gnu/include/features.h:391:0,
from /usr/mips-linux-gnu/include/limits.h:25,
from /usr/lib/gcc-cross/mips-linux-gnu/5/include-fixed/limits.h:168,
from /usr/lib/gcc-cross/mips-linux-gnu/5/include-fixed/syslimits.h:7,
from /usr/lib/gcc-cross/mips-linux-gnu/5/include-fixed/limits.h:34,
from /buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/src/compiler-rt/lib/builtins/int_lib.h:67,
from /buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/src/compiler-rt/lib/builtins/absvdi2.c:15:
/usr/mips-linux-gnu/include/gnu/stubs.h:8:33: fatal error: gnu/stubs-o32_soft.h: No such file or directory
compilation terminated.
make[4]: *** [lib/builtins/CMakeFiles/clang_rt.builtins-mips.dir/absvdi2.c.o] Error 1
make[4]: Leaving directory `/buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/obj/mips-unknown-linux-gnu/rt/compiler-rt'
make[3]: *** [lib/builtins/CMakeFiles/clang_rt.builtins-mips.dir/all] Error 2
make[3]: Leaving directory `/buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/obj/mips-unknown-linux-gnu/rt/compiler-rt'
make[2]: *** [lib/builtins/CMakeFiles/clang_rt.builtins-mips.dir/rule] Error 2
make[1]: *** [clang_rt.builtins-mips] Error 2make[2]: Leaving directory `/buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/obj/mips-unknown-linux-gnu/rt/compiler-rt'
make[1]: Leaving directory `/buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/obj/mips-unknown-linux-gnu/rt/compiler-rt'
make: *** [mips-unknown-linux-gnu/rt/libcompiler-rt.a] Error 2

As a result I'm nominating for beta and tagging beta-accepted as well to unbreak the build

@alexcrichtonalexcrichton added the beta-accepted Accepted for backporting to the compiler in the beta channel. label Jul 27, 2016
brson added a commit that referenced this pull request Jul 27, 2016
@brsonbrson removed the beta-nominated Nominated for backporting to the compiler in the beta channel. label Jul 27, 2016
pmatos pushed a commit to LinkiTools/rust that referenced this pull request Sep 27, 2016
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

beta-acceptedAccepted for backporting to the compiler in the beta channel.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@alexcrichton@rust-highfive@brson@bors@aturon
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

mk: Don't pass -msoft-float on mips-gnu - #34841

Merged
bors merged 1 commit into
rust-lang:masterfrom
alexcrichton:no-mips-soft-float
Jul 16, 2016
Merged

mk: Don't pass -msoft-float on mips-gnu#34841
bors merged 1 commit into
rust-lang:masterfrom
alexcrichton:no-mips-soft-float

Conversation

@alexcrichton

Copy link
Copy Markdown
Member

Soon the LLVM upgrade (#34743) will require an updated CMake installation, and
the easiest way to do this was to upgrade the Ubuntu version of the bots to
16.04. This in turn brings in a new MIPS compiler on the linux-cross builder,
which is now from the "official" ubuntu repositories. Unfortunately these
new compilers don't support compiling with the -msoft-float flag like we're
currently passing, causing compiles to fail.

This commit removes these flags as it's not clear why they're being passed, as
the mipsel targets also don't have it. At least if it's not supported by a
debian default compiler, perhaps it's not too relevant to support?

Soon the LLVM upgrade (rust-lang#34743) will require an updated CMake installation, and
the easiest way to do this was to upgrade the Ubuntu version of the bots to
16.04. This in turn brings in a new MIPS compiler on the linux-cross builder,
which is now from the "official" ubuntu repositories. Unfortunately these
new compilers don't support compiling with the `-msoft-float` flag like we're
currently passing, causing compiles to fail.
This commit removes these flags as it's not clear *why* they're being passed, as
the mipsel targets also don't have it. At least if it's not supported by a
debian default compiler, perhaps it's not too relevant to support?
@rust-highfive

Copy link
Copy Markdown
Contributor

r? @aturon

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

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

r? @brson

cc @japaric
cc @badboy

@rust-highfiverust-highfive assigned brson and unassigned aturonJul 15, 2016
@alexcrichtonalexcrichton mentioned this pull request Jul 15, 2016
3 tasks
@alexcrichton

Copy link
Copy Markdown
MemberAuthor

Confirmed that this passes our suite of auto bots in dev with the updated images the LLVM upgrade will use, just need to see if it passes our current auto bots...

@brson

Copy link
Copy Markdown
Contributor

@bors r+ p=1

@bors

bors commented Jul 15, 2016

Copy link
Copy Markdown
Collaborator

📌 Commit 5f43817 has been approved by brson

@bors

bors commented Jul 16, 2016

Copy link
Copy Markdown
Collaborator

⌛ Testing commit 5f43817 with merge 145f0ec...

bors added a commit that referenced this pull request Jul 16, 2016
mk: Don't pass -msoft-float on mips-gnu
Soon the LLVM upgrade (#34743) will require an updated CMake installation, and
the easiest way to do this was to upgrade the Ubuntu version of the bots to
16.04. This in turn brings in a new MIPS compiler on the linux-cross builder,
which is now from the "official" ubuntu repositories. Unfortunately these
new compilers don't support compiling with the `-msoft-float` flag like we're
currently passing, causing compiles to fail.
This commit removes these flags as it's not clear *why* they're being passed, as
the mipsel targets also don't have it. At least if it's not supported by a
debian default compiler, perhaps it's not too relevant to support?
@bors
bors merged commit 5f43817 into rust-lang:masterJul 16, 2016
@alexcrichton
alexcrichton deleted the no-mips-soft-float branch July 16, 2016 17:20
alexcrichton added a commit to alexcrichton/rust that referenced this pull request Jul 19, 2016
Right now two MIPS targets in the compiler, `mips-unknown-linux-{gnu,musl}` both
generate object files using the soft-float ABI through LLVM by default. This is
also expressed as the `-C soft-float` codegen option and otherwise isn't used
for any other target in the compiler. This option was added quite some time ago
(back in rust-lang#9617), and nowadays it's more appropriate to be done through a codegen
option.
This is motivated by rust-lang#34743 which necessitated an upgrade in the CMake
installation on our bots which necessitated an upgrade in the Ubuntu version
which invalidated the MIPS compilers we were using. The new MIPS compilers
(coming from Debian I believe) all have hard float enabled by default and soft
float support not built in. This meant that we couldn't upgrade the bots
until rust-lang#34841 landed because otherwise we would fail to compile C code as the
`-msoft-float` option wouldn't work.
Unfortunately, though, this means that once we upgrade the bots the C code we're
compiling will be compiled for hard float and the Rust code will be compiled
for soft float, a bad mismatch! This PR remedies the situation such that Rust
will compile with hard float as well.
If this lands it will likely produce broken nightlies for a day or two while we
get around to upgrading the bots because the current C toolchain only produces
soft-float binaries, and now rust will be hard-float. Hopefully, though, the
upgrade can go smoothly!
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Jul 21, 2016
rustc: Remove soft-float from MIPS targets
Right now two MIPS targets in the compiler, `mips-unknown-linux-{gnu,musl}` both
generate object files using the soft-float ABI through LLVM by default. This is
also expressed as the `-C soft-float` codegen option and otherwise isn't used
for any other target in the compiler. This option was added quite some time ago
(back in rust-lang#9617), and nowadays it's more appropriate to be done through a codegen
option.
This is motivated by rust-lang#34743 which necessitated an upgrade in the CMake
installation on our bots which necessitated an upgrade in the Ubuntu version
which invalidated the MIPS compilers we were using. The new MIPS compilers
(coming from Debian I believe) all have hard float enabled by default and soft
float support not built in. This meant that we couldn't upgrade the bots
until rust-lang#34841 landed because otherwise we would fail to compile C code as the
`-msoft-float` option wouldn't work.
Unfortunately, though, this means that once we upgrade the bots the C code we're
compiling will be compiled for hard float and the Rust code will be compiled
for soft float, a bad mismatch! This PR remedies the situation such that Rust
will compile with hard float as well.
If this lands it will likely produce broken nightlies for a day or two while we
get around to upgrading the bots because the current C toolchain only produces
soft-float binaries, and now rust will be hard-float. Hopefully, though, the
upgrade can go smoothly!
@alexcrichtonalexcrichton added the beta-nominated Nominated for backporting to the compiler in the beta channel. label Jul 27, 2016
@alexcrichton

Copy link
Copy Markdown
MemberAuthor

The update of the builder images has unfortunately caused the beta build to now fail due to this PR not being available:

cc1: warning: command line option '-ftarget=mips-linux-gnu' is valid for Java but not for C
In file included from /usr/mips-linux-gnu/include/features.h:391:0,
from /usr/mips-linux-gnu/include/limits.h:25,
from /usr/lib/gcc-cross/mips-linux-gnu/5/include-fixed/limits.h:168,
from /usr/lib/gcc-cross/mips-linux-gnu/5/include-fixed/syslimits.h:7,
from /usr/lib/gcc-cross/mips-linux-gnu/5/include-fixed/limits.h:34,
from /buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/src/compiler-rt/lib/builtins/int_lib.h:67,
from /buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/src/compiler-rt/lib/builtins/absvdi2.c:15:
/usr/mips-linux-gnu/include/gnu/stubs.h:8:33: fatal error: gnu/stubs-o32_soft.h: No such file or directory
compilation terminated.
make[4]: *** [lib/builtins/CMakeFiles/clang_rt.builtins-mips.dir/absvdi2.c.o] Error 1
make[4]: Leaving directory `/buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/obj/mips-unknown-linux-gnu/rt/compiler-rt'
make[3]: *** [lib/builtins/CMakeFiles/clang_rt.builtins-mips.dir/all] Error 2
make[3]: Leaving directory `/buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/obj/mips-unknown-linux-gnu/rt/compiler-rt'
make[2]: *** [lib/builtins/CMakeFiles/clang_rt.builtins-mips.dir/rule] Error 2
make[1]: *** [clang_rt.builtins-mips] Error 2make[2]: Leaving directory `/buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/obj/mips-unknown-linux-gnu/rt/compiler-rt'
make[1]: Leaving directory `/buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/obj/mips-unknown-linux-gnu/rt/compiler-rt'
make: *** [mips-unknown-linux-gnu/rt/libcompiler-rt.a] Error 2

As a result I'm nominating for beta and tagging beta-accepted as well to unbreak the build

@alexcrichtonalexcrichton added the beta-accepted Accepted for backporting to the compiler in the beta channel. label Jul 27, 2016
brson added a commit that referenced this pull request Jul 27, 2016
@brsonbrson removed the beta-nominated Nominated for backporting to the compiler in the beta channel. label Jul 27, 2016
pmatos pushed a commit to LinkiTools/rust that referenced this pull request Sep 27, 2016
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

beta-acceptedAccepted for backporting to the compiler in the beta channel.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@alexcrichton@rust-highfive@brson@bors@aturon
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

mk: Don't pass -msoft-float on mips-gnu - #34841

Merged
bors merged 1 commit into
rust-lang:masterfrom
alexcrichton:no-mips-soft-float
Jul 16, 2016
Merged

mk: Don't pass -msoft-float on mips-gnu#34841
bors merged 1 commit into
rust-lang:masterfrom
alexcrichton:no-mips-soft-float

Conversation

@alexcrichton

Copy link
Copy Markdown
Member

Soon the LLVM upgrade (#34743) will require an updated CMake installation, and
the easiest way to do this was to upgrade the Ubuntu version of the bots to
16.04. This in turn brings in a new MIPS compiler on the linux-cross builder,
which is now from the "official" ubuntu repositories. Unfortunately these
new compilers don't support compiling with the -msoft-float flag like we're
currently passing, causing compiles to fail.

This commit removes these flags as it's not clear why they're being passed, as
the mipsel targets also don't have it. At least if it's not supported by a
debian default compiler, perhaps it's not too relevant to support?

Soon the LLVM upgrade (rust-lang#34743) will require an updated CMake installation, and
the easiest way to do this was to upgrade the Ubuntu version of the bots to
16.04. This in turn brings in a new MIPS compiler on the linux-cross builder,
which is now from the "official" ubuntu repositories. Unfortunately these
new compilers don't support compiling with the `-msoft-float` flag like we're
currently passing, causing compiles to fail.
This commit removes these flags as it's not clear *why* they're being passed, as
the mipsel targets also don't have it. At least if it's not supported by a
debian default compiler, perhaps it's not too relevant to support?
@rust-highfive

Copy link
Copy Markdown
Contributor

r? @aturon

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

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

r? @brson

cc @japaric
cc @badboy

@rust-highfiverust-highfive assigned brson and unassigned aturonJul 15, 2016
@alexcrichtonalexcrichton mentioned this pull request Jul 15, 2016
3 tasks
@alexcrichton

Copy link
Copy Markdown
MemberAuthor

Confirmed that this passes our suite of auto bots in dev with the updated images the LLVM upgrade will use, just need to see if it passes our current auto bots...

@brson

Copy link
Copy Markdown
Contributor

@bors r+ p=1

@bors

bors commented Jul 15, 2016

Copy link
Copy Markdown
Collaborator

📌 Commit 5f43817 has been approved by brson

@bors

bors commented Jul 16, 2016

Copy link
Copy Markdown
Collaborator

⌛ Testing commit 5f43817 with merge 145f0ec...

bors added a commit that referenced this pull request Jul 16, 2016
mk: Don't pass -msoft-float on mips-gnu
Soon the LLVM upgrade (#34743) will require an updated CMake installation, and
the easiest way to do this was to upgrade the Ubuntu version of the bots to
16.04. This in turn brings in a new MIPS compiler on the linux-cross builder,
which is now from the "official" ubuntu repositories. Unfortunately these
new compilers don't support compiling with the `-msoft-float` flag like we're
currently passing, causing compiles to fail.
This commit removes these flags as it's not clear *why* they're being passed, as
the mipsel targets also don't have it. At least if it's not supported by a
debian default compiler, perhaps it's not too relevant to support?
@bors
bors merged commit 5f43817 into rust-lang:masterJul 16, 2016
@alexcrichton
alexcrichton deleted the no-mips-soft-float branch July 16, 2016 17:20
alexcrichton added a commit to alexcrichton/rust that referenced this pull request Jul 19, 2016
Right now two MIPS targets in the compiler, `mips-unknown-linux-{gnu,musl}` both
generate object files using the soft-float ABI through LLVM by default. This is
also expressed as the `-C soft-float` codegen option and otherwise isn't used
for any other target in the compiler. This option was added quite some time ago
(back in rust-lang#9617), and nowadays it's more appropriate to be done through a codegen
option.
This is motivated by rust-lang#34743 which necessitated an upgrade in the CMake
installation on our bots which necessitated an upgrade in the Ubuntu version
which invalidated the MIPS compilers we were using. The new MIPS compilers
(coming from Debian I believe) all have hard float enabled by default and soft
float support not built in. This meant that we couldn't upgrade the bots
until rust-lang#34841 landed because otherwise we would fail to compile C code as the
`-msoft-float` option wouldn't work.
Unfortunately, though, this means that once we upgrade the bots the C code we're
compiling will be compiled for hard float and the Rust code will be compiled
for soft float, a bad mismatch! This PR remedies the situation such that Rust
will compile with hard float as well.
If this lands it will likely produce broken nightlies for a day or two while we
get around to upgrading the bots because the current C toolchain only produces
soft-float binaries, and now rust will be hard-float. Hopefully, though, the
upgrade can go smoothly!
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Jul 21, 2016
rustc: Remove soft-float from MIPS targets
Right now two MIPS targets in the compiler, `mips-unknown-linux-{gnu,musl}` both
generate object files using the soft-float ABI through LLVM by default. This is
also expressed as the `-C soft-float` codegen option and otherwise isn't used
for any other target in the compiler. This option was added quite some time ago
(back in rust-lang#9617), and nowadays it's more appropriate to be done through a codegen
option.
This is motivated by rust-lang#34743 which necessitated an upgrade in the CMake
installation on our bots which necessitated an upgrade in the Ubuntu version
which invalidated the MIPS compilers we were using. The new MIPS compilers
(coming from Debian I believe) all have hard float enabled by default and soft
float support not built in. This meant that we couldn't upgrade the bots
until rust-lang#34841 landed because otherwise we would fail to compile C code as the
`-msoft-float` option wouldn't work.
Unfortunately, though, this means that once we upgrade the bots the C code we're
compiling will be compiled for hard float and the Rust code will be compiled
for soft float, a bad mismatch! This PR remedies the situation such that Rust
will compile with hard float as well.
If this lands it will likely produce broken nightlies for a day or two while we
get around to upgrading the bots because the current C toolchain only produces
soft-float binaries, and now rust will be hard-float. Hopefully, though, the
upgrade can go smoothly!
@alexcrichtonalexcrichton added the beta-nominated Nominated for backporting to the compiler in the beta channel. label Jul 27, 2016
@alexcrichton

Copy link
Copy Markdown
MemberAuthor

The update of the builder images has unfortunately caused the beta build to now fail due to this PR not being available:

cc1: warning: command line option '-ftarget=mips-linux-gnu' is valid for Java but not for C
In file included from /usr/mips-linux-gnu/include/features.h:391:0,
from /usr/mips-linux-gnu/include/limits.h:25,
from /usr/lib/gcc-cross/mips-linux-gnu/5/include-fixed/limits.h:168,
from /usr/lib/gcc-cross/mips-linux-gnu/5/include-fixed/syslimits.h:7,
from /usr/lib/gcc-cross/mips-linux-gnu/5/include-fixed/limits.h:34,
from /buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/src/compiler-rt/lib/builtins/int_lib.h:67,
from /buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/src/compiler-rt/lib/builtins/absvdi2.c:15:
/usr/mips-linux-gnu/include/gnu/stubs.h:8:33: fatal error: gnu/stubs-o32_soft.h: No such file or directory
compilation terminated.
make[4]: *** [lib/builtins/CMakeFiles/clang_rt.builtins-mips.dir/absvdi2.c.o] Error 1
make[4]: Leaving directory `/buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/obj/mips-unknown-linux-gnu/rt/compiler-rt'
make[3]: *** [lib/builtins/CMakeFiles/clang_rt.builtins-mips.dir/all] Error 2
make[3]: Leaving directory `/buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/obj/mips-unknown-linux-gnu/rt/compiler-rt'
make[2]: *** [lib/builtins/CMakeFiles/clang_rt.builtins-mips.dir/rule] Error 2
make[1]: *** [clang_rt.builtins-mips] Error 2make[2]: Leaving directory `/buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/obj/mips-unknown-linux-gnu/rt/compiler-rt'
make[1]: Leaving directory `/buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/obj/mips-unknown-linux-gnu/rt/compiler-rt'
make: *** [mips-unknown-linux-gnu/rt/libcompiler-rt.a] Error 2

As a result I'm nominating for beta and tagging beta-accepted as well to unbreak the build

@alexcrichtonalexcrichton added the beta-accepted Accepted for backporting to the compiler in the beta channel. label Jul 27, 2016
brson added a commit that referenced this pull request Jul 27, 2016
@brsonbrson removed the beta-nominated Nominated for backporting to the compiler in the beta channel. label Jul 27, 2016
pmatos pushed a commit to LinkiTools/rust that referenced this pull request Sep 27, 2016
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

beta-acceptedAccepted for backporting to the compiler in the beta channel.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@alexcrichton@rust-highfive@brson@bors@aturon
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

mk: Don't pass -msoft-float on mips-gnu - #34841

Merged
bors merged 1 commit into
rust-lang:masterfrom
alexcrichton:no-mips-soft-float
Jul 16, 2016
Merged

mk: Don't pass -msoft-float on mips-gnu#34841
bors merged 1 commit into
rust-lang:masterfrom
alexcrichton:no-mips-soft-float

Conversation

@alexcrichton

Copy link
Copy Markdown
Member

Soon the LLVM upgrade (#34743) will require an updated CMake installation, and
the easiest way to do this was to upgrade the Ubuntu version of the bots to
16.04. This in turn brings in a new MIPS compiler on the linux-cross builder,
which is now from the "official" ubuntu repositories. Unfortunately these
new compilers don't support compiling with the -msoft-float flag like we're
currently passing, causing compiles to fail.

This commit removes these flags as it's not clear why they're being passed, as
the mipsel targets also don't have it. At least if it's not supported by a
debian default compiler, perhaps it's not too relevant to support?

Soon the LLVM upgrade (rust-lang#34743) will require an updated CMake installation, and
the easiest way to do this was to upgrade the Ubuntu version of the bots to
16.04. This in turn brings in a new MIPS compiler on the linux-cross builder,
which is now from the "official" ubuntu repositories. Unfortunately these
new compilers don't support compiling with the `-msoft-float` flag like we're
currently passing, causing compiles to fail.
This commit removes these flags as it's not clear *why* they're being passed, as
the mipsel targets also don't have it. At least if it's not supported by a
debian default compiler, perhaps it's not too relevant to support?
@rust-highfive

Copy link
Copy Markdown
Contributor

r? @aturon

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

@alexcrichton

Copy link
Copy Markdown
MemberAuthor

r? @brson

cc @japaric
cc @badboy

@rust-highfiverust-highfive assigned brson and unassigned aturonJul 15, 2016
@alexcrichtonalexcrichton mentioned this pull request Jul 15, 2016
3 tasks
@alexcrichton

Copy link
Copy Markdown
MemberAuthor

Confirmed that this passes our suite of auto bots in dev with the updated images the LLVM upgrade will use, just need to see if it passes our current auto bots...

@brson

Copy link
Copy Markdown
Contributor

@bors r+ p=1

@bors

bors commented Jul 15, 2016

Copy link
Copy Markdown
Collaborator

📌 Commit 5f43817 has been approved by brson

@bors

bors commented Jul 16, 2016

Copy link
Copy Markdown
Collaborator

⌛ Testing commit 5f43817 with merge 145f0ec...

bors added a commit that referenced this pull request Jul 16, 2016
mk: Don't pass -msoft-float on mips-gnu
Soon the LLVM upgrade (#34743) will require an updated CMake installation, and
the easiest way to do this was to upgrade the Ubuntu version of the bots to
16.04. This in turn brings in a new MIPS compiler on the linux-cross builder,
which is now from the "official" ubuntu repositories. Unfortunately these
new compilers don't support compiling with the `-msoft-float` flag like we're
currently passing, causing compiles to fail.
This commit removes these flags as it's not clear *why* they're being passed, as
the mipsel targets also don't have it. At least if it's not supported by a
debian default compiler, perhaps it's not too relevant to support?
@bors
bors merged commit 5f43817 into rust-lang:masterJul 16, 2016
@alexcrichton
alexcrichton deleted the no-mips-soft-float branch July 16, 2016 17:20
alexcrichton added a commit to alexcrichton/rust that referenced this pull request Jul 19, 2016
Right now two MIPS targets in the compiler, `mips-unknown-linux-{gnu,musl}` both
generate object files using the soft-float ABI through LLVM by default. This is
also expressed as the `-C soft-float` codegen option and otherwise isn't used
for any other target in the compiler. This option was added quite some time ago
(back in rust-lang#9617), and nowadays it's more appropriate to be done through a codegen
option.
This is motivated by rust-lang#34743 which necessitated an upgrade in the CMake
installation on our bots which necessitated an upgrade in the Ubuntu version
which invalidated the MIPS compilers we were using. The new MIPS compilers
(coming from Debian I believe) all have hard float enabled by default and soft
float support not built in. This meant that we couldn't upgrade the bots
until rust-lang#34841 landed because otherwise we would fail to compile C code as the
`-msoft-float` option wouldn't work.
Unfortunately, though, this means that once we upgrade the bots the C code we're
compiling will be compiled for hard float and the Rust code will be compiled
for soft float, a bad mismatch! This PR remedies the situation such that Rust
will compile with hard float as well.
If this lands it will likely produce broken nightlies for a day or two while we
get around to upgrading the bots because the current C toolchain only produces
soft-float binaries, and now rust will be hard-float. Hopefully, though, the
upgrade can go smoothly!
GuillaumeGomez added a commit to GuillaumeGomez/rust that referenced this pull request Jul 21, 2016
rustc: Remove soft-float from MIPS targets
Right now two MIPS targets in the compiler, `mips-unknown-linux-{gnu,musl}` both
generate object files using the soft-float ABI through LLVM by default. This is
also expressed as the `-C soft-float` codegen option and otherwise isn't used
for any other target in the compiler. This option was added quite some time ago
(back in rust-lang#9617), and nowadays it's more appropriate to be done through a codegen
option.
This is motivated by rust-lang#34743 which necessitated an upgrade in the CMake
installation on our bots which necessitated an upgrade in the Ubuntu version
which invalidated the MIPS compilers we were using. The new MIPS compilers
(coming from Debian I believe) all have hard float enabled by default and soft
float support not built in. This meant that we couldn't upgrade the bots
until rust-lang#34841 landed because otherwise we would fail to compile C code as the
`-msoft-float` option wouldn't work.
Unfortunately, though, this means that once we upgrade the bots the C code we're
compiling will be compiled for hard float and the Rust code will be compiled
for soft float, a bad mismatch! This PR remedies the situation such that Rust
will compile with hard float as well.
If this lands it will likely produce broken nightlies for a day or two while we
get around to upgrading the bots because the current C toolchain only produces
soft-float binaries, and now rust will be hard-float. Hopefully, though, the
upgrade can go smoothly!
@alexcrichtonalexcrichton added the beta-nominated Nominated for backporting to the compiler in the beta channel. label Jul 27, 2016
@alexcrichton

Copy link
Copy Markdown
MemberAuthor

The update of the builder images has unfortunately caused the beta build to now fail due to this PR not being available:

cc1: warning: command line option '-ftarget=mips-linux-gnu' is valid for Java but not for C
In file included from /usr/mips-linux-gnu/include/features.h:391:0,
from /usr/mips-linux-gnu/include/limits.h:25,
from /usr/lib/gcc-cross/mips-linux-gnu/5/include-fixed/limits.h:168,
from /usr/lib/gcc-cross/mips-linux-gnu/5/include-fixed/syslimits.h:7,
from /usr/lib/gcc-cross/mips-linux-gnu/5/include-fixed/limits.h:34,
from /buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/src/compiler-rt/lib/builtins/int_lib.h:67,
from /buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/src/compiler-rt/lib/builtins/absvdi2.c:15:
/usr/mips-linux-gnu/include/gnu/stubs.h:8:33: fatal error: gnu/stubs-o32_soft.h: No such file or directory
compilation terminated.
make[4]: *** [lib/builtins/CMakeFiles/clang_rt.builtins-mips.dir/absvdi2.c.o] Error 1
make[4]: Leaving directory `/buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/obj/mips-unknown-linux-gnu/rt/compiler-rt'
make[3]: *** [lib/builtins/CMakeFiles/clang_rt.builtins-mips.dir/all] Error 2
make[3]: Leaving directory `/buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/obj/mips-unknown-linux-gnu/rt/compiler-rt'
make[2]: *** [lib/builtins/CMakeFiles/clang_rt.builtins-mips.dir/rule] Error 2
make[1]: *** [clang_rt.builtins-mips] Error 2make[2]: Leaving directory `/buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/obj/mips-unknown-linux-gnu/rt/compiler-rt'
make[1]: Leaving directory `/buildslave/rust-buildbot/slave/beta-dist-rustc-cross-linux/build/obj/mips-unknown-linux-gnu/rt/compiler-rt'
make: *** [mips-unknown-linux-gnu/rt/libcompiler-rt.a] Error 2

As a result I'm nominating for beta and tagging beta-accepted as well to unbreak the build

@alexcrichtonalexcrichton added the beta-accepted Accepted for backporting to the compiler in the beta channel. label Jul 27, 2016
brson added a commit that referenced this pull request Jul 27, 2016
@brsonbrson removed the beta-nominated Nominated for backporting to the compiler in the beta channel. label Jul 27, 2016
pmatos pushed a commit to LinkiTools/rust that referenced this pull request Sep 27, 2016
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

beta-acceptedAccepted for backporting to the compiler in the beta channel.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@alexcrichton@rust-highfive@brson@bors@aturon