This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
RE: [PATCH] Fix the atomic_compare_and_exchange_*_rel definitions.
- From: Lei Xu <lei dot xu at nxp dot com>
- To: "munroesj at linux dot vnet dot ibm dot com" <munroesj at linux dot vnet dot ibm dot com>
- Cc: Tulio Magno Quites Machado Filho <tuliom at linux dot vnet dot ibm dot com>, "libc-alpha at sourceware dot org" <libc-alpha at sourceware dot org>, Scott Wood <scott dot wood at nxp dot com>, "carlos at systemhalted dot org" <carlos at systemhalted dot org>, "sjmunroe at us dot ibm dot com" <sjmunroe at us dot ibm dot com>
- Date: Wed, 22 Jun 2016 10:07:44 +0000
- Subject: RE: [PATCH] Fix the atomic_compare_and_exchange_*_rel definitions.
- Authentication-results: sourceware.org; auth=none
- Authentication-results: spf=none (sender IP is ) smtp dot mailfrom=lei dot xu at nxp dot com;
- References: <1465723849-12811-1-git-send-email-lei dot xu at nxp dot com> <87h9cx894b dot fsf at totoro dot br dot ibm dot com> <1465828404 dot 12944 dot 5 dot camel at oc7878010663> <AM3PR04MB129767F24DFE1EB7782338D690540 at AM3PR04MB1297 dot eurprd04 dot prod dot outlook dot com> <1465914938 dot 9630 dot 11 dot camel at oc7878010663>
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:99
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