Lock Elision / Transaction ABI discussion
Dominik Vogt
vogt@linux.vnet.ibm.com
Mon Sep 16 13:52:00 GMT 2013
One concern I have with a glibc-only-ABI is that abort codes are
infectious. If you have libraries libfoo and libbar that both
use explicit abort codes, they need to know about each other even
if the developers are not aware of this. The explicit abort codes
of libfoo pollute the abort code range that is available to libbar
or glibc, and all the libraries need to know that.
So, if glibc reserves some abort codes in an ABI, that only solves
the resource conflict locally. Other variants of a c library need
to adhere to the same rules as glibc. Furthermore, while z has
64-bit abort codes, Intel's Tsx has only 8-bit user define abort
status codes, so available space is scarce.
Hence the suggested rule not to use explicit abort codes for code
flow control.
Ciao
Dominik ^_^ ^_^
--
Dominik Vogt
IBM Germany
More information about the Libc-alpha
mailing list