Bug#881846: rustc: FTBFS on armel
On 03/03/18 09:32, John Paul Adrian Glaubitz wrote: > Hi! > > I have managed to build rustc 1.24 natively on armel using the changes from > the following bug reports: > > - #891022 - rustc: Please include patch to disable kernel helpers on armel > - #891913 - rustc: Please add architecture matching for armel => > armv5te-unknown-linux-gnu > - #891961 - rustc: Please enable workaround for upstream issue 45854 on > armel > > I'm now waiting for Ximin to upload rustc_1.24 so I can bootstrap rustc for > armel, > I have already installed a working compiler on abel.debian.org and > harris.debian.org. Nice, thanks for this. Emilio
Bug#881846: rustc: FTBFS on armel
Hi! I have managed to build rustc 1.24 natively on armel using the changes from the following bug reports: - #891022 - rustc: Please include patch to disable kernel helpers on armel - #891913 - rustc: Please add architecture matching for armel => armv5te-unknown-linux-gnu - #891961 - rustc: Please enable workaround for upstream issue 45854 on armel I'm now waiting for Ximin to upload rustc_1.24 so I can bootstrap rustc for armel, I have already installed a working compiler on abel.debian.org and harris.debian.org. Thanks, Adrian -- .''`. 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
Bug#881846: [Pkg-rust-maintainers] Bug#881846: Bug#881846: rustc: FTBFS on armel
Ximin Luo: > John Paul Adrian Glaubitz: >> On 11/15/2017 07:16 PM, Tixy wrote: >>> On Wed, 2017-11-15 at 18:53 +0100, John Paul Adrian Glaubitz wrote: As for the atomics: What strikes me odd is that upstream claims that ARMv6 is supported. But to my current knowledge, proper atomics were only introduced with ARMv7. >>> >>> ARMv6 has 32-bit atomics (LDREX and STREX instructions), and ARMv6K adds >>> 8-, 16-, and 64-bit versions. >> >> Ah, I guess my memory is wrong then. Were there any changes regarding >> atomics in ARMv7 or was it just NEON that was introduced with ARMv7? >> > > Adrian Bunk (added to CC) has recently been trying to do a armel port: > > For buster armv5te_unknown_linux_gnueabi.rs seems to match the > baseline. > [..] > infinity0: hits some armv6 assembler in compiler-rt, haven't yet look > deeper into that issue > By the way, I got all my information from this thread: https://github.com/rust-lang/rust/issues/35590 Specifically this comment: https://github.com/rust-lang/rust/issues/35590#issuecomment-240900710 "ARMv4 is tricky. It's possible to get atomic support working for it, but only on Linux. You'd need to use the kernel user helpers to implement various __sync_* functions that are going to be emitted by LLVM." I haven't verified any of this myself, but he sounds like he knows what he's talking about and I've seen him porting other stuff to GCC in #gcc etc. I'm also not sure what the ARMv5 situation is, if buster is going to be upgraded to that. Perhaps bunk has more details. X -- GPG: ed25519/56034877E1F87C35 GPG: rsa4096/1318EFAC5FBBDBCE https://github.com/infinity0/pubkeys.git
Bug#881846: rustc: FTBFS on armel
On Wed, 2017-11-15 at 18:37 +, Tixy wrote: > On Wed, 2017-11-15 at 19:21 +0100, John Paul Adrian Glaubitz wrote: > > On 11/15/2017 07:16 PM, Tixy wrote: > > > On Wed, 2017-11-15 at 18:53 +0100, John Paul Adrian Glaubitz wrote: > > >> As for the atomics: What strikes me odd is that upstream claims that > > >> ARMv6 is supported. But to my current knowledge, proper atomics were > > >> only introduced with ARMv7. > > > > > > ARMv6 has 32-bit atomics (LDREX and STREX instructions), and ARMv6K adds > > > 8-, 16-, and 64-bit versions. > > > > Ah, I guess my memory is wrong then. Were there any changes regarding > > atomics in ARMv7 > > Not that I know of. Actually, just been refreshing my memory with the help of Google and the memory barriers instruction DMB was new in ARMv7. Before then, the same operations was done with a co-processor instructions instead. These memory barriers would be required in any kind of locking operation; which may, or may not, be relevant to $subject. -- Tixy
Bug#881846: rustc: FTBFS on armel
On Wed, 2017-11-15 at 19:21 +0100, John Paul Adrian Glaubitz wrote: > On 11/15/2017 07:16 PM, Tixy wrote: > > On Wed, 2017-11-15 at 18:53 +0100, John Paul Adrian Glaubitz wrote: > >> As for the atomics: What strikes me odd is that upstream claims that > >> ARMv6 is supported. But to my current knowledge, proper atomics were > >> only introduced with ARMv7. > > > > ARMv6 has 32-bit atomics (LDREX and STREX instructions), and ARMv6K adds > > 8-, 16-, and 64-bit versions. > > Ah, I guess my memory is wrong then. Were there any changes regarding > atomics in ARMv7 Not that I know of. -- Tixy
Bug#881846: rustc: FTBFS on armel
On Wed, 2017-11-15 at 18:53 +0100, John Paul Adrian Glaubitz wrote: > As for the atomics: What strikes me odd is that upstream claims that > ARMv6 is supported. But to my current knowledge, proper atomics were > only introduced with ARMv7. ARMv6 has 32-bit atomics (LDREX and STREX instructions), and ARMv6K adds 8-, 16-, and 64-bit versions. -- Tixy
Bug#881846: [Pkg-rust-maintainers] Bug#881846: rustc: FTBFS on armel
John Paul Adrian Glaubitz: > On 11/15/2017 07:16 PM, Tixy wrote: >> On Wed, 2017-11-15 at 18:53 +0100, John Paul Adrian Glaubitz wrote: >>> As for the atomics: What strikes me odd is that upstream claims that >>> ARMv6 is supported. But to my current knowledge, proper atomics were >>> only introduced with ARMv7. >> >> ARMv6 has 32-bit atomics (LDREX and STREX instructions), and ARMv6K adds >> 8-, 16-, and 64-bit versions. > > Ah, I guess my memory is wrong then. Were there any changes regarding > atomics in ARMv7 or was it just NEON that was introduced with ARMv7? > Adrian Bunk (added to CC) has recently been trying to do a armel port: For buster armv5te_unknown_linux_gnueabi.rs seems to match the baseline. [..] infinity0: hits some armv6 assembler in compiler-rt, haven't yet look deeper into that issue X -- GPG: ed25519/56034877E1F87C35 GPG: rsa4096/1318EFAC5FBBDBCE https://github.com/infinity0/pubkeys.git
Bug#881846: rustc: FTBFS on armel
On 11/15/2017 07:16 PM, Tixy wrote: > On Wed, 2017-11-15 at 18:53 +0100, John Paul Adrian Glaubitz wrote: >> As for the atomics: What strikes me odd is that upstream claims that >> ARMv6 is supported. But to my current knowledge, proper atomics were >> only introduced with ARMv7. > > ARMv6 has 32-bit atomics (LDREX and STREX instructions), and ARMv6K adds > 8-, 16-, and 64-bit versions. Ah, I guess my memory is wrong then. Were there any changes regarding atomics in ARMv7 or was it just NEON that was introduced with ARMv7? Adrian -- .''`. 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
Bug#881846: rustc: FTBFS on armel
On 11/15/2017 06:33 PM, Emilio Pozuelo Monfort wrote: > There are no old build logs for rustc/armel, but IIRC atomics were broken > on libstdc++/armel for a while, but that got fixed. Not sure if that's > related to this; maybe the maintainers or the armel porters can take a > look with a recent version. Wouldn't it make more sense to report the issue upstream? In the end, Debian's Rust maintainers are going to forward the issue upstream anyway, aren't they? As for the atomics: What strikes me odd is that upstream claims that ARMv6 is supported. But to my current knowledge, proper atomics were only introduced with ARMv7. Adrian -- .''`. 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
Bug#881846: rustc: FTBFS on armel
Source: rustc Version: 1.21.0+dfsg1-3 Severity: important Hi, rustc is missing on armel. I asked sometime ago about its status: 17:08 < infinity0> pochu_: armel isn't supported because of lack of proper atomics in llvm, it is theoreticaly possible but noone has spent the effort There are no old build logs for rustc/armel, but IIRC atomics were broken on libstdc++/armel for a while, but that got fixed. Not sure if that's related to this; maybe the maintainers or the armel porters can take a look with a recent version. Emilio -- System Information: Debian Release: buster/sid APT prefers unstable APT policy: (800, 'unstable'), (700, 'experimental'), (650, 'testing'), (500, 'unstable-debug'), (500, 'testing-debug') Architecture: amd64 (x86_64) Foreign Architectures: i386, armhf Kernel: Linux 4.13.0-1-amd64 (SMP w/4 CPU cores) Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8), LANGUAGE=en_GB.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system)