Bug#881846: rustc: FTBFS on armel

2018-03-03 Thread Emilio Pozuelo Monfort
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

2018-03-03 Thread John Paul Adrian Glaubitz
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

2017-11-16 Thread Ximin Luo
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

2017-11-15 Thread Tixy
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

2017-11-15 Thread Tixy
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

2017-11-15 Thread Tixy
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

2017-11-15 Thread 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

X

-- 
GPG: ed25519/56034877E1F87C35
GPG: rsa4096/1318EFAC5FBBDBCE
https://github.com/infinity0/pubkeys.git



Bug#881846: rustc: FTBFS on armel

2017-11-15 Thread 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

-- 
 .''`.  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

2017-11-15 Thread John Paul Adrian Glaubitz
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

2017-11-15 Thread Emilio Pozuelo Monfort
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)