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: Lock Elision / Transaction ABI discussion


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


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