__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 not defined on aarch64
Richard Earnshaw (lists)
Richard.Earnshaw@arm.com
Fri Jun 30 09:17:00 GMT 2017
On 30/06/17 10:11, Alexander Monakov wrote:
> On Fri, 30 Jun 2017, Andrew Haley wrote:
>> Perhaps so. However, it would make more sense and be more maintainable
>> if, rather than use a command-line option, a variable attribute was used
>> to tell the compiler what this program is supposed to mean. IMO.
>
> Correction: this can't be a variable attribute, because when you take a pointer
> to such object, the property remains relevant to the result of dereferencing
> that pointer. Therefore, it would need to be a type attribute as Richard said.
>
> I'd caution against adding attributes due to source code uglification and
> compiler compatibility concerns.
>
> An option is also simple; adding the attribute would be repeating history with
> refusing native 128-bit CAS-based atomics due to r/o issue: creating extra work
> for compiler writers and frustration for users, only to handle an edge case they
> don't care about.
>
NO. AN OPTION WILL NOT WORK.
An option cannot fix up existing binary objects and change the ABI that
they expect. You cannot force a recompile on all users so the ABI for
this type is NOW FIXED.
Mixing objects with potentially different ABIs in play is a recipe for
disaster.
As they say: Get over it.
R.
> Alexander
>
More information about the Gcc-help
mailing list