[PATCH] Fix the atomic_compare_and_exchange_*_rel definitions.
Lei Xu
lei.xu@nxp.com
Wed Jun 22 10:08:00 GMT 2016
Hello, steven
Sorry to reply so late, and please see my comments below, thanks.
Regards
Lei
-----Original Message-----
From: Steven Munroe [mailto:munroesj@linux.vnet.ibm.com]
Sent: Tuesday, June 14, 2016 10:36 PM
To: Lei Xu
Cc: Tulio Magno Quites Machado Filho; libc-alpha@sourceware.org; Scott Wood; carlos@systemhalted.org; sjmunroe@us.ibm.com
Subject: RE: [PATCH] Fix the atomic_compare_and_exchange_*_rel definitions.
>
> Only if the changes are complaint with the PowerISA Server profile. If it contains any Embedded profile specific instructions it must be isolated to a Embedded
> specific path and override header file. ie sysdeps/powerpc/powerpc64/e6500/
> The E6500 part claims to be PowerISA™ Version 2.06 complaint, but does not implement the full Server profile (for example decimal and vsx are
> omitted) and does include a number of Embedded specific Book II extensions not implemented for any server processor.
> This is why we have --with-cpu configure option and the supporting directory structure under ./sysdeps/powerpc/
[XuLei] Understand. While this issue is not related to something specific to E6500.
__arch_compare_and_exchange_bool_32_rel has been defined in sysdeps/powerpc/powerpc64/atomic-machine.h, sysdeps/powerpc/powerpc32/atomic-machine.h;
But atomic_compare_and_exchange_bool_rel was not defined in powerpc, so it will be defined as atomic_compare_and_exchange_bool_acq in include/atomic.h,
Which finally calls the __arch_compare_and_exchange_bool_32_acq function, so this need to be corrected in powerpc specific file,
Normally it could be in sysdeps/powerpc/atomic-machine.h, like atomic_compare_and_exchange_val_rel.
However, this modification is not necessary now because Torvald Riegel had submitted another patch to remove atomic_compare_and_exchange_bool_rel,
In that patch, it will use atomic_compare_and_exchange_val_rel finally(USE_ATOMIC_COMPILER_BUILTINS was defined to 0 in powerpc)
and could fix this issue too.
Thanks for all your support.
Regards
Lei
More information about the Libc-alpha
mailing list