lp:~lttng/urcu/trunk

Created by Ubuntu LTTng and last modified
Get this branch:
bzr branch lp:~lttng/urcu/trunk

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Ubuntu LTTng
Project:
Userspace RCU
Status:
Development

Import details

Import Status: Reviewed

This branch is an import of the HEAD branch of the Git repository at git://git.lttng.org/userspace-rcu.git.

The next import is scheduled to run .

Last successful import was .

Import started on juju-1e3bde-prod-lp-code-import-17 and finished taking 10 seconds — see the log
Import started on juju-1e3bde-prod-lp-code-import-16 and finished taking 5 minutes
Import started on juju-1e3bde-prod-lp-code-import-15 and finished taking 10 seconds — see the log
Import started on juju-1e3bde-prod-lp-code-import-14 and finished taking 10 seconds — see the log
Import started on juju-1e3bde-prod-lp-code-import-14 and finished taking 10 seconds — see the log
Import started on juju-1e3bde-prod-lp-code-import-13 and finished taking 10 seconds — see the log
Import started on juju-1e3bde-prod-lp-code-import-12 and finished taking 10 seconds — see the log
Import started on juju-1e3bde-prod-lp-code-import-12 and finished taking 10 seconds — see the log
Import started on juju-1e3bde-prod-lp-code-import-17 and finished taking 10 seconds — see the log
Import started on juju-1e3bde-prod-lp-code-import-16 and finished taking 10 seconds — see the log

Recent revisions

1380. By Michael Jeanson <email address hidden>

fix: add missing pkgconfig file for memb flavour lib

We ship a pkg-config file for each urcu flavour library except the
latest introduced 'memb'.

Change-Id: If222949941d968f63b07616776440931657aa6db
Signed-off-by: Michael Jeanson <email address hidden>
Signed-off-by: Mathieu Desnoyers <email address hidden>

1379. By Mathieu Desnoyers

Cleanup: Tests: Remove useless pre-C99 compatibility code from tap.h

Signed-off-by: Mathieu Desnoyers <email address hidden>
Change-Id: I02488c88013f6a7c60205219d15850ef8b04271e

1378. By Mathieu Desnoyers

Document C99 and C++11 requirement in README.md

Signed-off-by: Mathieu Desnoyers <email address hidden>
Change-Id: Ida30f72f57ce6a501d694c61eb9eb7fb3e3b5be3

1377. By Michael Jeanson <email address hidden>

Always use '__thread' for Thread local storage except on MSVC

Use the GCC extension '__thread' [1] for Thread local storage on all C
and C++ compilers except MSVC.

While C11 and C++11 respectively offer '_Thread_local' and
'thread_local' as potentialy faster implementations, they offer no
guarantees of compatibility when used in a library interface which might
be used by both C and C++ client code.

[1] https://gcc.gnu.org/onlinedocs/gcc/Thread-Local.html

Change-Id: If4fe8bcdbda24b21dedf382112bd5c5f836c00c8
Signed-off-by: Michael Jeanson <email address hidden>
Signed-off-by: Mathieu Desnoyers <email address hidden>

1376. By Mathieu Desnoyers

Fix: powerpc32: transparent unions alter calling convention

On powerpc32, transparent unions have an impact on the calling
convention used for the argument, as they use the calling convention of
the first field of the union rather than the union itself. On powerpc32,
the calling convention for a union is that the register has a pointer to
the union, which differs from the calling convention of its first field
(which is a pointer in this case).

"[...] the argument is passed to the function using the calling
conventions of the first member of the transparent union, not the
calling conventions of the union itself. All members of the union must
have the same machine representation; this is necessary for this
argument passing to work properly." [1]

Therefore, use a transparent union for c++ so c++ compilers can emit
caller code with a compatible stack layout. The "ignored attribute"
warning emitted by clang appears to be only for architectures where the
calling convention is not affected by the presence of transparent union
attribute. Therefore, simply silence this warning.

Link: https://gcc.gnu.org/onlinedocs/gcc-4.6.0/gcc/Type-Attributes.html [1]

Signed-off-by: Mathieu Desnoyers <email address hidden>
Change-Id: I07182dd4ed37a3f61a226fb199bc98c95f83bd37

1375. By Michael Jeanson <email address hidden>

fix: don't use C++ thread_local on MacOs

Recent versions of Apple's clang++ do support 'thread_local' but the
implementation generates additional helper symbols. This is a problem
when accessing an extern TLS variable in a C++ compile unit that is
provided by a C library that doesn't have those extra symbols.

Fallback to using '__thread' on MacOs.

Change-Id: I87cb5b3c9293f7bf66f7115f453b546dd793a449
Signed-off-by: Michael Jeanson <email address hidden>
Signed-off-by: Mathieu Desnoyers <email address hidden>

1374. By Mathieu Desnoyers

wfcqueue API: implement overloaded wrappers with templates

Signed-off-by: Mathieu Desnoyers <email address hidden>
Change-Id: I58613298f2d949fa1195efdbb9f452fd97b77eeb

1373. By Mathieu Desnoyers

wfcqueue: combine C++ API cds_wfcq_head_cast with overloading

For the sake of wrapper API, implement a cds_wfcq_head_cast_cpp with
overloading, thus leaving in place the cds_wfcq_head_cast and
__cds_wfcq_head_cast C identifiers already exposed by the C++ API.

Signed-off-by: Mathieu Desnoyers <email address hidden>
Change-Id: Id9781d46290c47b81a57f48fc045b6307c1143de

1372. By Mathieu Desnoyers

wfstack C++ API: implement overloaded wrappers with templates

Signed-off-by: Mathieu Desnoyers <email address hidden>
Change-Id: Iac57f35ce31972c751d95fac7306e9729e9dfa43

1371. By Mathieu Desnoyers

lfstack C++ API: implement overloaded wrappers with templates

Signed-off-by: Mathieu Desnoyers <email address hidden>
Change-Id: I1bcfd8f0bab53e30778f7d20e374de750ebdf806

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
This branch contains Public information 
Everyone can see this information.

Subscribers