Source: rustc Version: 1.28.0+dfsg1-2 Severity: normal Tags: patch User: debian-sp...@lists.debian.org Usertags: sparc64
Hello! With version 1.28, the Rust compiler has regressed in the sense that it generates code with unaligned access [1]. This problem existed in the past and was supposed to be fixed [2], however it just recently came back. The attached patch contains a workaround for sparc64 such that rustc will at least build again. Please include it in the next upload. Thanks, Adrian > [1] https://github.com/rust-lang/rust/issues/53181 > [2] https://github.com/rust-lang/rust/pull/45679 -- .''`. John Paul Adrian Glaubitz : :' : Debian Developer - glaub...@debian.org `. `' Freie Universitaet Berlin - glaub...@physik.fu-berlin.de `- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
Description: <short summary of the patch> TODO: Put a short summary on the line above and replace this paragraph with a longer explanation of this change. Complete the meta-information with other relevant fields (see below for details). To make it easier, the information below has been extracted from the changelog. Adjust it or drop it. . rustc (1.28.0+dfsg1-2) unstable; urgency=medium . * Switch on verbose-tests to restore the old pre-1.28 behaviour, and restore old failure-counting logic. * Allow 50 test failures on s390x, restored failure-counting logic avoids more double-counts. Author: Ximin Luo <infini...@debian.org> --- The information above should follow the Patch Tagging Guidelines, please checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here are templates for supplementary fields that you might want to add: Origin: <vendor|upstream|other>, <url of original patch> Bug: <url in upstream bugtracker> Bug-Debian: https://bugs.debian.org/<bugnumber> Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber> Forwarded: <no|not-needed|url proving that it has been forwarded> Reviewed-By: <name and email of someone who approved the patch> Last-Update: 2018-08-09 --- rustc-1.28.0+dfsg1.orig/src/libsyntax_pos/span_encoding.rs +++ rustc-1.28.0+dfsg1/src/libsyntax_pos/span_encoding.rs @@ -26,7 +26,9 @@ use std::hash::{Hash, Hasher}; /// The primary goal of `Span` is to be as small as possible and fit into other structures /// (that's why it uses `packed` as well). Decoding speed is the second priority. /// See `SpanData` for the info on span fields in decoded representation. -#[repr(packed)] + +/// Workaround for compiler bug: https://github.com/rust-lang/rust/issues/53181 +#[cfg_attr(not(any(target_arch = "sparc64", target_arch = "sparcv9")), repr(packed))] pub struct Span(u32); impl Copy for Span {}