This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: [PATCH] Fix the atomic_compare_and_exchange_*_rel definitions.


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






Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]