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
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
> >
> >
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
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