Re: [PATCH 2/3] bsps/i386: use Pentimum instructions for pc586 and pc686 builds.

2016-10-12 Thread Sebastian Huber
This looks like a compiler or libatomic configuration bug. I currently have no time to investigate this further. On 12/10/16 15:36, Pavel Pisa wrote: Hello Sebastian, On Wednesday 12 of October 2016 10:35:55 Sebastian Huber wrote: On 12/10/16 10:26, p...@cmp.felk.cvut.cz wrote: SMP build is

Re: [PATCH 2/3] bsps/i386: use Pentimum instructions for pc586 and pc686 builds.

2016-10-12 Thread Pavel Pisa
Hello Sebastian, On Wednesday 12 of October 2016 10:35:55 Sebastian Huber wrote: > On 12/10/16 10:26, p...@cmp.felk.cvut.cz wrote: > > SMP build is broken with i386 set because libatomic and GCC > > generate infinite loop for __atomic_fetch_add_4 used > > in rtems_interrupt_lock_acquire > > > >

Re: [PATCH 2/3] bsps/i386: use Pentimum instructions for pc586 and pc686 builds.

2016-10-12 Thread Sebastian Huber
On 12/10/16 10:26, p...@cmp.felk.cvut.cz wrote: SMP build is broken with i386 set because libatomic and GCC generate infinite loop for __atomic_fetch_add_4 used in rtems_interrupt_lock_acquire __atomic_fetch_add_4: push %ebp mov%esp,%ebp movl $0x5,0x10(%ebp) pop

[PATCH 2/3] bsps/i386: use Pentimum instructions for pc586 and pc686 builds.

2016-10-12 Thread pisa
From: Pavel Pisa When GCC option -march is not specifies i386-rtems toolchain defaults to i386 architecture instruction set. It does not provide atomic instructions which results in really inefficient atomic_fetch_or even on UP build. SMP build is broken with i386 set